diff options
Diffstat (limited to 'implementation/logging/include/dlt_sink_backend.hpp')
-rw-r--r-- | implementation/logging/include/dlt_sink_backend.hpp | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/implementation/logging/include/dlt_sink_backend.hpp b/implementation/logging/include/dlt_sink_backend.hpp new file mode 100644 index 0000000..1b7fd09 --- /dev/null +++ b/implementation/logging/include/dlt_sink_backend.hpp @@ -0,0 +1,44 @@ +// Copyright (C) 2014-2015 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 LOGGING_INCLUDE_DLT_SINK_BACKEND_HPP_ +#define LOGGING_INCLUDE_DLT_SINK_BACKEND_HPP_ + +#ifdef USE_DLT +#include <dlt/dlt.h> +#endif + +#include <boost/log/core.hpp> +#include <boost/log/sinks/basic_sink_backend.hpp> +#include <boost/log/trivial.hpp> + +namespace logging = boost::log; +namespace sinks = boost::log::sinks; + +namespace vsomeip +{ + +class dlt_sink_backend : + public sinks::basic_sink_backend< + sinks::combine_requirements< + sinks::synchronized_feeding + >::type + > { +public: + dlt_sink_backend(); + virtual ~dlt_sink_backend(); + + void consume(const logging::record_view &rec); + +private: +#ifdef USE_DLT + DltLogLevelType level_as_dlt(logging::trivial::severity_level _level); + DLT_DECLARE_CONTEXT(dlt_); +#endif +}; + +} /* namespace vsomeip */ + +#endif /* LOGGING_INCLUDE_DLT_SINK_BACKEND_HPP_ */ |