Use the trace format type for ust metadata generation
[lttng-tools.git] / src / bin / lttng-sessiond / ust-registry-session.hpp
index cce7c5c1b7baef7958f80f10c0e9eef9ceca883c..5be7b4c9d71ec2c587729fd74ebf9b37a14aedf7 100644 (file)
@@ -16,6 +16,7 @@
 #include "ust-registry.hpp"
 
 #include <common/make-unique-wrapper.hpp>
+#include <lttng/trace-format-descriptor-internal.hpp>
 
 #include <cstdint>
 #include <ctime>
@@ -62,6 +63,8 @@ public:
        void regenerate_metadata();
        virtual ~registry_session();
 
+       virtual const lttng::sessiond::trace::type *get_packet_header() const noexcept override;
+
        /*
         * With multiple writers and readers, use this lock to access
         * the registry. Can nest within the ust app session lock.
@@ -101,10 +104,10 @@ protected:
                        const char *shm_path,
                        uid_t euid,
                        gid_t egid,
-                       uint64_t tracing_id);
-       virtual void _visit_environment(
-                       lttng::sessiond::trace::trace_class_visitor& trace_class_visitor)
-                       const override;
+                       uint64_t tracing_id,
+                       const lttng::trace_format_descriptor& trace_format);
+       virtual void accept(
+                       trace::trace_class_environment_visitor& environment_visitor) const override;
        void _generate_metadata();
 
 private:
@@ -114,6 +117,10 @@ private:
        void _reset_metadata();
        void _destroy_enum(registry_enum *reg_enum) noexcept;
        registry_enum *_lookup_enum(const registry_enum *target_enum) const;
+       lttng::sessiond::trace::type::cuptr _create_packet_header() const;
+       lttng::sessiond::trace::trace_class_visitor::cuptr trace_class_visitor_factory(
+                       const struct lttng::sessiond::trace::abi& trace_abi,
+                       const lttng::trace_format_descriptor& trace_format);
 
        virtual void _accept_on_clock_classes(
                        lttng::sessiond::trace::trace_class_visitor& trace_class_visitor)
@@ -193,6 +200,7 @@ private:
 
        lttng::sessiond::ust::clock_class _clock;
        const lttng::sessiond::trace::trace_class_visitor::cuptr _metadata_generating_visitor;
+       lttng::sessiond::trace::type::cuptr _packet_header;
 };
 
 } /* namespace ust */
This page took 0.026607 seconds and 5 git commands to generate.