X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Ftrace-class.cpp;fp=src%2Fbin%2Flttng-sessiond%2Ftrace-class.cpp;h=21a0c52dca0f2a8ea4480886cefe4d1432e6985b;hb=0220be14254fac4f7af642fd6630282b29776a70;hp=0000000000000000000000000000000000000000;hpb=f1ca0880a86b9fc2af3d246adcacfaf4554b2ecb;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/trace-class.cpp b/src/bin/lttng-sessiond/trace-class.cpp new file mode 100644 index 000000000..21a0c52dc --- /dev/null +++ b/src/bin/lttng-sessiond/trace-class.cpp @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2022 Jérémie Galarneau + * + * SPDX-License-Identifier: GPL-2.0-only + * + */ + +#include "trace-class.hpp" + +namespace lst = lttng::sessiond::trace; + +lttng::sessiond::trace::trace_class::trace_class( + const struct abi& in_abi, + const lttng_uuid& in_trace_uuid) : + abi{in_abi}, + uuid{in_trace_uuid} +{ +} + +void lttng::sessiond::trace::trace_class::accept(trace_class_visitor& trace_class_visitor) const +{ + trace_class_visitor.visit(*this); + _accept_on_clock_classes(trace_class_visitor); + + trace_class_visitor.environment_begin(); + _visit_environment(trace_class_visitor); + trace_class_visitor.environment_end(); + + _accept_on_stream_classes(trace_class_visitor); +} + +void lst::trace_class_visitor::visit(const environment_field& field) +{ + visit(environment_field(field.name, field.value.c_str())); +}