.gitignore: ignore local vscode workspace settings file
[lttng-tools.git] / src / bin / lttng / utils.hpp
index 000509da5f4ad2dacfec76c8525dbd5c02650fd5..7f398397a95a38ca585bcfcd000095497f913c6d 100644 (file)
@@ -14,6 +14,7 @@
 #include <common/make-unique-wrapper.hpp>
 
 #include <lttng/lttng.h>
+#include <lttng/session-internal.hpp>
 
 #include <iterator>
 #include <memory>
@@ -56,7 +57,7 @@ public:
        {
        }
 
-       session_storage(session_storage&& original) :
+       session_storage(session_storage&& original) noexcept :
                _array(std::move(original._array)), _count(original._count)
        {
        }
@@ -66,9 +67,12 @@ public:
        {
        }
 
-       std::unique_ptr<lttng_session,
-                       lttng::memory::create_deleter_class<lttng_session, lttng::free>::deleter>
-               _array = nullptr;
+       session_storage(session_storage&) = delete;
+       session_storage& operator=(const session_storage& other) = delete;
+       session_storage& operator=(session_storage&& other) = delete;
+       ~session_storage() = default;
+
+       lttng_session_uptr _array = nullptr;
        std::size_t _count = 0;
 };
 
@@ -77,7 +81,7 @@ public:
        static lttng_session& get(const lttng::cli::details::session_storage& storage,
                                  std::size_t index) noexcept
        {
-               return storage._array.get()[index];
+               return storage._array[index];
        }
 
        static std::size_t size(const lttng::cli::details::session_storage& storage)
@@ -105,7 +109,7 @@ public:
        {
        }
 
-       session_list(session_list&& original) :
+       session_list(session_list&& original) noexcept :
                lttng::utils::random_access_container_wrapper<details::session_storage,
                                                              lttng_session&,
                                                              details::session_list_operations>(
@@ -129,6 +133,11 @@ public:
        {
        }
 
+       session_list(session_list&) = delete;
+       session_list& operator=(const session_list& other) = delete;
+       session_list& operator=(session_list&& other) = delete;
+       ~session_list() = default;
+
        void resize(std::size_t new_size) noexcept
        {
                _container._count = new_size;
@@ -139,8 +148,8 @@ lttng::cli::session_list list_sessions(const struct session_spec& spec);
 } /* namespace cli */
 } /* namespace lttng */
 
-char *get_session_name(void);
-char *get_session_name_quiet(void);
+char *get_session_name();
+char *get_session_name_quiet();
 void list_commands(struct cmd_struct *commands, FILE *ofp);
 void list_cmd_options(FILE *ofp, struct poptOption *options);
 void list_cmd_options_argpar(FILE *ofp, const struct argpar_opt_descr *options);
@@ -168,7 +177,7 @@ const char *get_event_type_str(enum lttng_event_type event_type);
 int print_missing_or_multiple_domains(unsigned int domain_count, bool include_agent_domains);
 
 int spawn_relayd(const char *pathname, int port);
-int check_relayd(void);
+int check_relayd();
 void print_session_stats(const char *session_name);
 int get_session_stats_str(const char *session_name, char **str);
 int show_cmd_help(const char *cmd_name, const char *help_msg);
@@ -179,4 +188,10 @@ int print_trace_archive_location(const struct lttng_trace_archive_location *loca
 int validate_exclusion_list(const char *event_name,
                            const struct lttng_dynamic_pointer_array *exclusions);
 
+/*
+ * Ask the sessiond for the more details on the status of the kernel tracer and
+ * print it to stderr.
+ */
+void print_kernel_tracer_status_error();
+
 #endif /* _LTTNG_UTILS_H */
This page took 0.024965 seconds and 4 git commands to generate.