1*6777b538SAndroid Build Coastguard Worker // Copyright 2024 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Worker #include "base/trace_event/named_trigger.h" 6*6777b538SAndroid Build Coastguard Worker 7*6777b538SAndroid Build Coastguard Worker #include "base/check.h" 8*6777b538SAndroid Build Coastguard Worker 9*6777b538SAndroid Build Coastguard Worker namespace base::trace_event { 10*6777b538SAndroid Build Coastguard Worker 11*6777b538SAndroid Build Coastguard Worker // |g_named_trigger_manager| is intentionally leaked on shutdown. 12*6777b538SAndroid Build Coastguard Worker NamedTriggerManager* g_named_trigger_manager = nullptr; 13*6777b538SAndroid Build Coastguard Worker EmitNamedTrigger(const std::string & trigger_name,std::optional<int32_t> value)14*6777b538SAndroid Build Coastguard Workerbool EmitNamedTrigger(const std::string& trigger_name, 15*6777b538SAndroid Build Coastguard Worker std::optional<int32_t> value) { 16*6777b538SAndroid Build Coastguard Worker if (g_named_trigger_manager) { 17*6777b538SAndroid Build Coastguard Worker return g_named_trigger_manager->DoEmitNamedTrigger(trigger_name, value); 18*6777b538SAndroid Build Coastguard Worker } 19*6777b538SAndroid Build Coastguard Worker return false; 20*6777b538SAndroid Build Coastguard Worker } 21*6777b538SAndroid Build Coastguard Worker SetInstance(NamedTriggerManager * manager)22*6777b538SAndroid Build Coastguard Workervoid NamedTriggerManager::SetInstance(NamedTriggerManager* manager) { 23*6777b538SAndroid Build Coastguard Worker DCHECK(g_named_trigger_manager == nullptr || manager == nullptr); 24*6777b538SAndroid Build Coastguard Worker g_named_trigger_manager = manager; 25*6777b538SAndroid Build Coastguard Worker } 26*6777b538SAndroid Build Coastguard Worker 27*6777b538SAndroid Build Coastguard Worker } // namespace base::trace_event 28