#define _LTT_SESSION_H
#include <limits.h>
+#include <memory>
#include <stdbool.h>
#include <urcu/list.h>
-#include <common/hashtable/hashtable.hpp>
#include <common/dynamic-array.hpp>
+#include <common/hashtable/hashtable.hpp>
#include <common/make-unique-wrapper.hpp>
#include <common/pthread-lock.hpp>
-#include <lttng/rotation.h>
#include <lttng/location.h>
#include <lttng/lttng-error.h>
+#include <lttng/rotation.h>
+#include <lttng/trace-format-descriptor-internal.hpp>
#include "snapshot.hpp"
#include "trace-kernel.hpp"
struct lttng_dynamic_array clear_notifiers {};
/* Session base path override. Set non-null. */
char *base_path{};
+ /* Trace output format */
+ lttng::trace_format_descriptor::sptr trace_format;
};
-enum lttng_error_code session_create(const char *name, uid_t uid, gid_t gid,
+enum lttng_error_code session_create(const char *name,
+ uid_t uid,
+ gid_t gid,
+ lttng::trace_format_descriptor::uptr& trace_format,
struct ltt_session **out_session);
void session_lock(struct ltt_session *session);
void session_unlock(struct ltt_session *session);