| // Copyright 2019 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef PLATFORM_IMPL_TEXT_TRACE_LOGGING_PLATFORM_H_ |
| #define PLATFORM_IMPL_TEXT_TRACE_LOGGING_PLATFORM_H_ |
| |
| #include "platform/api/trace_logging_platform.h" |
| |
| namespace openscreen { |
| |
| class TextTraceLoggingPlatform : public TraceLoggingPlatform { |
| public: |
| TextTraceLoggingPlatform(); |
| ~TextTraceLoggingPlatform() override; |
| |
| bool IsTraceLoggingEnabled(TraceCategory::Value category) override; |
| |
| void LogTrace(const char* name, |
| const uint32_t line, |
| const char* file, |
| Clock::time_point start_time, |
| Clock::time_point end_time, |
| TraceIdHierarchy ids, |
| Error::Code error) override; |
| |
| void LogAsyncStart(const char* name, |
| const uint32_t line, |
| const char* file, |
| Clock::time_point timestamp, |
| TraceIdHierarchy ids) override; |
| |
| void LogAsyncEnd(const uint32_t line, |
| const char* file, |
| Clock::time_point timestamp, |
| TraceId trace_id, |
| Error::Code error) override; |
| }; |
| |
| } // namespace openscreen |
| |
| #endif // PLATFORM_IMPL_TEXT_TRACE_LOGGING_PLATFORM_H_ |