Clean-up: sessiond: rename public accessors
[lttng-tools.git] / src / bin / lttng-sessiond / ust-app.cpp
index 8addb5edacabb5bd9ed2397ab81f276cf5b078fb..ec8aa1c39ca7e4dd270c2d828e248a8f6b1dfd73 100644 (file)
@@ -3454,7 +3454,7 @@ static int create_channel_per_uid(struct ust_app *app,
 
        {
                auto locked_registry = reg_uid->registry->reg.ust->lock();
-               auto& ust_reg_chan = locked_registry->get_channel(ua_chan->tracing_channel_id);
+               auto& ust_reg_chan = locked_registry->channel(ua_chan->tracing_channel_id);
 
                ust_reg_chan._consumer_key = ua_chan->key;
        }
@@ -3554,7 +3554,7 @@ static int create_channel_per_pid(struct ust_app *app,
        {
                auto locked_registry = registry->lock();
 
-               auto& ust_reg_chan = locked_registry->get_channel(chan_reg_key);
+               auto& ust_reg_chan = locked_registry->channel(chan_reg_key);
                ust_reg_chan._consumer_key = ua_chan->key;
        }
 
@@ -6408,7 +6408,7 @@ static int handle_app_register_channel_notification(int sock,
                chan_reg_key = ua_chan->key;
        }
 
-       auto& ust_reg_chan = locked_registry_session->get_channel(chan_reg_key);
+       auto& ust_reg_chan = locked_registry_session->channel(chan_reg_key);
 
        /* Channel id is set during the object creation. */
        chan_id = ust_reg_chan.id;
@@ -6439,14 +6439,14 @@ static int handle_app_register_channel_notification(int sock,
                                                        0, std::move(app_context_fields)) :
                                        nullptr;
 
-                       ust_reg_chan.set_event_context(std::move(event_context));
+                       ust_reg_chan.event_context(std::move(event_context));
                } else {
                        /*
                         * Validate that the context fields match between
                         * registry and newcoming application.
                         */
                        bool context_fields_match;
-                       const auto *previous_event_context = ust_reg_chan.get_event_context();
+                       const auto *previous_event_context = ust_reg_chan.event_context();
 
                        if (!previous_event_context) {
                                context_fields_match = app_context_fields.size() == 0;
@@ -6559,7 +6559,7 @@ static int add_event_ust_registry(int sock, int sobjd, int cobjd, const char *na
                         * These three variables MUST NOT be read/write after this.
                         */
                        try {
-                               auto& channel = locked_registry->get_channel(chan_reg_key);
+                               auto& channel = locked_registry->channel(chan_reg_key);
 
                                /* event_id is set on success. */
                                channel.add_event(sobjd, cobjd, name, signature.get(),
@@ -7895,3 +7895,30 @@ error:
        rcu_read_unlock();
        return ret;
 }
+
+lsu::ctl_field_quirks ust_app::ctl_field_quirks() const
+{
+       /*
+        * Application contexts are expressed as variants. LTTng-UST announces
+        * those by registering an enumeration named `..._tag`. It then registers a
+        * variant as part of the event context that contains the various possible
+        * types.
+        *
+        * Unfortunately, the names used in the enumeration and variant don't
+        * match: the enumeration names are all prefixed with an underscore while
+        * the variant type tag fields aren't.
+        *
+        * While the CTF 1.8.3 specification mentions that
+        * underscores *should* (not *must*) be removed by CTF readers. Babeltrace
+        * 1.x (and possibly others) expect a perfect match between the names used
+        * by tags and variants.
+        *
+        * When the UNDERSCORE_PREFIXED_VARIANT_TAG_MAPPINGS quirk is enabled,
+        * the variant's fields are modified to match the mappings of its tag.
+        *
+        * From ABI version >= 10.x, the variant fields and tag mapping names
+        * correctly match, making this quirk unnecessary.
+        */
+       return v_major <= 9 ? lsu::ctl_field_quirks::UNDERSCORE_PREFIXED_VARIANT_TAG_MAPPINGS :
+               lsu::ctl_field_quirks::NONE;
+}
\ No newline at end of file
This page took 0.024145 seconds and 4 git commands to generate.