xref: /openbsd-src/gnu/llvm/lldb/source/Plugins/TraceExporter/ctf/TraceExporterCTF.h (revision f6aab3d83b51b91c24247ad2c2573574de475a82)
1be691f3bSpatrick //===-- TraceExporterCTF.h --------------------------------------*- C++ -*-===//
2be691f3bSpatrick //
3be691f3bSpatrick // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4be691f3bSpatrick // See https://llvm.org/LICENSE.txt for license information.
5be691f3bSpatrick // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6be691f3bSpatrick //
7be691f3bSpatrick //===----------------------------------------------------------------------===//
8be691f3bSpatrick 
9be691f3bSpatrick #ifndef LLDB_SOURCE_PLUGINS_TRACE_EXPORTER_CTF_H
10be691f3bSpatrick #define LLDB_SOURCE_PLUGINS_TRACE_EXPORTER_CTF_H
11be691f3bSpatrick 
12be691f3bSpatrick #include "lldb/Target/TraceExporter.h"
13be691f3bSpatrick 
14be691f3bSpatrick namespace lldb_private {
15be691f3bSpatrick namespace ctf {
16be691f3bSpatrick 
17be691f3bSpatrick /// Trace Exporter Plugin that can produce traces in Chrome Trace Format.
18be691f3bSpatrick /// Still in development.
19be691f3bSpatrick class TraceExporterCTF : public TraceExporter {
20be691f3bSpatrick public:
21be691f3bSpatrick   ~TraceExporterCTF() override = default;
22be691f3bSpatrick 
23be691f3bSpatrick   /// PluginInterface protocol
24be691f3bSpatrick   /// \{
25be691f3bSpatrick   static llvm::Expected<lldb::TraceExporterUP> CreateInstance();
26be691f3bSpatrick 
GetPluginName()27*f6aab3d8Srobert   llvm::StringRef GetPluginName() override {
28*f6aab3d8Srobert     return GetPluginNameStatic();
29*f6aab3d8Srobert   }
30be691f3bSpatrick 
31be691f3bSpatrick   static void Initialize();
32be691f3bSpatrick 
33be691f3bSpatrick   static void Terminate();
34be691f3bSpatrick 
GetPluginNameStatic()35*f6aab3d8Srobert   static llvm::StringRef GetPluginNameStatic() { return "ctf"; }
36be691f3bSpatrick   /// \}
37be691f3bSpatrick };
38be691f3bSpatrick 
39be691f3bSpatrick } // namespace ctf
40be691f3bSpatrick } // namespace lldb_private
41be691f3bSpatrick 
42be691f3bSpatrick #endif // LLDB_SOURCE_PLUGINS_TRACE_EXPORTER_CTF_H
43