/* * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. * * Use of this source code is governed by a BSD-style license * that can be found in the LICENSE file in the root of the source * tree. An additional intellectual property rights grant can be found * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree. */ #include "webrtc/system_wrappers/interface/event_tracer.h" namespace webrtc { namespace { GetCategoryEnabledPtr g_get_category_enabled_ptr = 0; AddTraceEventPtr g_add_trace_event_ptr = 0; } // namespace void SetupEventTracer(GetCategoryEnabledPtr get_category_enabled_ptr, AddTraceEventPtr add_trace_event_ptr) { g_get_category_enabled_ptr = get_category_enabled_ptr; g_add_trace_event_ptr = add_trace_event_ptr; } // static const unsigned char* EventTracer::GetCategoryEnabled(const char* name) { if (g_get_category_enabled_ptr) return g_get_category_enabled_ptr(name); // A string with null terminator means category is disabled. return reinterpret_cast("\0"); } // static void EventTracer::AddTraceEvent(char phase, const unsigned char* category_enabled, const char* name, unsigned long long id, int num_args, const char** arg_names, const unsigned char* arg_types, const unsigned long long* arg_values, unsigned char flags) { if (g_add_trace_event_ptr) { g_add_trace_event_ptr(phase, category_enabled, name, id, num_args, arg_names, arg_types, arg_values, flags); } } } // namespace webrtc