//===-- TraceExporterCTF.cpp ----------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #include "TraceExporterCTF.h" #include #include "CommandObjectThreadTraceExportCTF.h" #include "lldb/Core/PluginManager.h" using namespace lldb; using namespace lldb_private; using namespace lldb_private::ctf; using namespace llvm; LLDB_PLUGIN_DEFINE(TraceExporterCTF) //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ static CommandObjectSP GetThreadTraceExportCommand(CommandInterpreter &interpreter) { return std::make_shared(interpreter); } void TraceExporterCTF::Initialize() { PluginManager::RegisterPlugin(GetPluginNameStatic(), "Chrome Trace Format Exporter", CreateInstance, GetThreadTraceExportCommand); } void TraceExporterCTF::Terminate() { PluginManager::UnregisterPlugin(CreateInstance); } ConstString TraceExporterCTF::GetPluginNameStatic() { static ConstString g_name("ctf"); return g_name; } ConstString TraceExporterCTF::GetPluginName() { return GetPluginNameStatic(); } uint32_t TraceExporterCTF::GetPluginVersion() { return 1; } Expected TraceExporterCTF::CreateInstance() { return std::make_unique(); }