#ifndef UTIL_TRACE_LOGGING_H_
#define UTIL_TRACE_LOGGING_H_
#include <string>
#include <utility>
#include <vector>
#include "platform/base/trace_logging_types.h"
#if defined(ENABLE_TRACE_LOGGING)
#define INCLUDING_FROM_UTIL_TRACE_LOGGING_H_
#include "util/trace_logging/macro_support.h"
#undef INCLUDING_FROM_UTIL_TRACE_LOGGING_H_
#define TRACE_SET_RESULT(result) …
#define TRACE_SET_HIERARCHY(ids) …
#define TRACE_HIERARCHY …
#define TRACE_CURRENT_ID …
#define TRACE_ROOT_ID …
inline std::vector<openscreen::TraceEvent::Argument> ToArgumentArray(
const char* argname = { … }
#define TRACE_SCOPED(category, name, ...) …
#define TRACE_DEFAULT_SCOPED(category, ...) …
#define TRACE_SCOPED1(category, name, argname, argval, ...) …
#define TRACE_DEFAULT_SCOPED1(category, argname, argval, ...) …
#define TRACE_SCOPED2(category, name, argname, argval, argname_two, \
argval_two, ...) …
#define TRACE_DEFAULT_SCOPED2(category, argname, argval, argname_two, \
argval_two, ...) …
#define TRACE_ASYNC_START(category, name, ...) …
#define TRACE_ASYNC_START1(category, name, argname, argval, ...) …
#define TRACE_ASYNC_START2(category, name, argname, argval, argname_two, \
argval_two, ...) …
#define TRACE_ASYNC_END(category, id, result) …
#else
namespace openscreen::internal {
template <typename... Args>
inline void DoNothingForTracing(Args... args) {}
}
#define TRACE_SET_RESULT …
#define TRACE_SET_HIERARCHY …
#define TRACE_HIERARCHY …
#define TRACE_CURRENT_ID …
#define TRACE_ROOT_ID …
#define TRACE_SCOPED …
#define TRACE_DEFAULT_SCOPED …
#define TRACE_SCOPED1 …
#define TRACE_DEFAULT_SCOPED1 …
#define TRACE_SCOPED2 …
#define TRACE_DEFAULT_SCOPED2 …
#define TRACE_ASYNC_START …
#define TRACE_ASYNC_END …
#endif
#endif