summaryrefslogtreecommitdiff
path: root/implementation/configuration/include/trace.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'implementation/configuration/include/trace.hpp')
-rw-r--r--implementation/configuration/include/trace.hpp62
1 files changed, 62 insertions, 0 deletions
diff --git a/implementation/configuration/include/trace.hpp b/implementation/configuration/include/trace.hpp
new file mode 100644
index 0000000..cba4da8
--- /dev/null
+++ b/implementation/configuration/include/trace.hpp
@@ -0,0 +1,62 @@
+// Copyright (C) 2014-2016 Bayerische Motoren Werke Aktiengesellschaft (BMW AG)
+// This Source Code Form is subject to the terms of the Mozilla Public
+// License, v. 2.0. If a copy of the MPL was not distributed with this
+// file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#ifndef CONFIGURATION_INCLUDE_TRACE_HPP_
+#define CONFIGURATION_INCLUDE_TRACE_HPP_
+
+#include <vsomeip/primitive_types.hpp>
+
+#include "../../tracing/include/defines.hpp"
+
+namespace vsomeip {
+namespace cfg {
+
+struct trace_channel {
+
+ trace_channel() :
+ id_(VSOMEIP_TC_DEFAULT_CHANNEL_ID),
+ name_(VSOMEIP_TC_DEFAULT_CHANNEL_NAME) {
+
+ }
+
+ trace_channel_t id_;
+ std::string name_;
+};
+
+struct trace_filter_rule {
+
+ trace_filter_rule() :
+ channel_(VSOMEIP_TC_DEFAULT_CHANNEL_ID),
+ services_(),
+ methods_(),
+ clients_() {
+
+ }
+
+ trace_channel_t channel_;
+ std::vector<service_t> services_;
+ std::vector<method_t> methods_;
+ std::vector<client_t> clients_;
+};
+
+struct trace {
+
+ trace() :
+ channels_(),
+ filter_rules_(),
+ is_enabled_(false) {
+ channels_.push_back(std::make_shared<trace_channel>());
+ }
+
+ std::vector<std::shared_ptr<trace_channel>> channels_;
+ std::vector<std::shared_ptr<trace_filter_rule>> filter_rules_;
+
+ bool is_enabled_;
+};
+
+} // namespace cfg
+} // namespace vsomeip
+
+#endif /* CONFIGURATION_INCLUDE_TRACE_HPP_ */