#include <common/make-unique-wrapper.hpp>
+#include <lttng/lttng.h>
+
#include <cstdint>
#include <ctime>
-#include <lttng/lttng.h>
#include <string>
#include <unistd.h>
class registry_session : public lttng::sessiond::trace::trace_class {
public:
- using locked_ptr = std::unique_ptr<registry_session,
- lttng::details::create_unique_class<registry_session,
- details::locked_registry_session_release>::
- deleter>;
+ using locked_ptr =
+ std::unique_ptr<registry_session,
+ lttng::memory::create_deleter_class<
+ registry_session,
+ details::locked_registry_session_release>::deleter>;
virtual lttng_buffer_type buffering_scheme() const noexcept = 0;
locked_ptr lock() noexcept;
void remove_channel(uint64_t channel_key, bool notify);
void create_or_find_enum(int session_objd,
- const char *enum_name,
- struct lttng_ust_ctl_enum_entry *raw_entries,
- size_t nr_entries,
- uint64_t *enum_id);
- registry_enum::const_rcu_protected_reference enumeration(
- const char *enum_name, uint64_t enum_id) const;
+ const char *enum_name,
+ struct lttng_ust_ctl_enum_entry *raw_entries,
+ size_t nr_entries,
+ uint64_t *enum_id);
+ registry_enum::const_rcu_protected_reference enumeration(const char *enum_name,
+ uint64_t enum_id) const;
void regenerate_metadata();
- virtual ~registry_session();
- virtual const lttng::sessiond::trace::type *packet_header() const noexcept override;
+ ~registry_session() override;
+ registry_session(const registry_session&) = delete;
+ registry_session(registry_session&&) = delete;
+ registry_session& operator=(registry_session&&) = delete;
+ registry_session& operator=(const registry_session&) = delete;
+
+ const lttng::sessiond::trace::type *packet_header() const noexcept override;
/*
* With multiple writers and readers, use this lock to access
protected:
/* Prevent instanciation of this base class. */
registry_session(const struct lttng::sessiond::trace::abi& abi,
- unsigned int app_tracer_version_major,
- unsigned int app_tracer_version_minor,
- const char *root_shm_path,
- const char *shm_path,
- uid_t euid,
- gid_t egid,
- uint64_t tracing_id);
- virtual void accept(
- trace::trace_class_environment_visitor& environment_visitor) const override;
+ unsigned int app_tracer_version_major,
+ unsigned int app_tracer_version_minor,
+ const char *root_shm_path,
+ const char *shm_path,
+ uid_t euid,
+ gid_t egid,
+ uint64_t tracing_id);
+ void accept(trace::trace_class_environment_visitor& environment_visitor) const override;
void _generate_metadata();
private:
registry_enum *_lookup_enum(const registry_enum *target_enum) const;
lttng::sessiond::trace::type::cuptr _create_packet_header() const;
- virtual void _accept_on_clock_classes(
- lttng::sessiond::trace::trace_class_visitor& trace_class_visitor)
- const override final;
- virtual void _accept_on_stream_classes(
- lttng::sessiond::trace::trace_class_visitor& trace_class_visitor)
- const override final;
+ void _accept_on_clock_classes(
+ lttng::sessiond::trace::trace_class_visitor& trace_class_visitor) const final;
+ void _accept_on_stream_classes(
+ lttng::sessiond::trace::trace_class_visitor& trace_class_visitor) const final;
/* Next channel ID available for a newly registered channel. */
uint32_t _next_channel_id = 0;