*
*/
-#include <common/credentials.h>
-#include <common/dynamic-array.h>
-#include <common/error.h>
-#include <common/mi-lttng.h>
-#include <common/optional.h>
-#include <common/payload-view.h>
-#include <common/payload.h>
+#include <common/credentials.hpp>
+#include <common/dynamic-array.hpp>
+#include <common/error.hpp>
+#include <common/mi-lttng.hpp>
+#include <common/optional.hpp>
+#include <common/payload-view.hpp>
+#include <common/payload.hpp>
#include <inttypes.h>
-#include <lttng/action/action-internal.h>
+#include <lttng/action/action-internal.hpp>
#include <lttng/condition/buffer-usage.h>
-#include <lttng/condition/condition-internal.h>
-#include <lttng/condition/event-rule-matches-internal.h>
+#include <lttng/condition/condition-internal.hpp>
+#include <lttng/condition/event-rule-matches-internal.hpp>
#include <lttng/condition/event-rule-matches.h>
#include <lttng/domain.h>
-#include <lttng/error-query-internal.h>
-#include <lttng/event-expr-internal.h>
-#include <lttng/event-rule/event-rule-internal.h>
-#include <lttng/trigger/trigger-internal.h>
+#include <lttng/error-query-internal.hpp>
+#include <lttng/event-expr-internal.hpp>
+#include <lttng/event-rule/event-rule-internal.hpp>
+#include <lttng/trigger/trigger-internal.hpp>
#include <pthread.h>
bool lttng_trigger_validate(const struct lttng_trigger *trigger)
goto end;
}
- trigger = (lttng_trigger *) zmalloc(sizeof(struct lttng_trigger));
+ trigger = zmalloc<lttng_trigger>();
if (!trigger) {
goto end;
}
static void trigger_destroy_ref(struct urcu_ref *ref)
{
struct lttng_trigger *trigger =
- container_of(ref, struct lttng_trigger, ref);
+ lttng::utils::container_of(ref, <tng_trigger::ref);
struct lttng_action *action = lttng_trigger_get_action(trigger);
struct lttng_condition *condition =
lttng_trigger_get_condition(trigger);
}
}
+ if (trigger_comm->is_hidden) {
+ lttng_trigger_set_hidden(trigger);
+ }
+
ret = offset;
error:
trigger_comm.name_length = size_name;
+ trigger_comm.is_hidden = lttng_trigger_is_hidden(trigger);
+
header_offset = payload->buffer.size;
ret = lttng_dynamic_buffer_append(&payload->buffer, &trigger_comm,
sizeof(trigger_comm));
{
struct lttng_triggers *triggers = NULL;
- triggers = (lttng_triggers *) zmalloc(sizeof(*triggers));
+ triggers = zmalloc<lttng_triggers>();
if (!triggers) {
goto end;
}
void lttng_trigger_set_credentials(struct lttng_trigger *trigger,
const struct lttng_credentials *creds)
{
+ /* Triggers do not use the group id to authenticate the user. */
LTTNG_ASSERT(creds);
- trigger->creds = *creds;
+ LTTNG_OPTIONAL_SET(&trigger->creds.uid, LTTNG_OPTIONAL_GET(creds->uid));
+ LTTNG_OPTIONAL_UNSET(&trigger->creds.gid);
}
enum lttng_trigger_status lttng_trigger_set_owner_uid(