summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.h
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.h')
-rw-r--r--lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.h187
1 files changed, 79 insertions, 108 deletions
diff --git a/lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.h b/lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.h
index 5dcb37b04ea..91bd7a6a58c 100644
--- a/lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.h
+++ b/lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.h
@@ -7,7 +7,6 @@
//
//===----------------------------------------------------------------------===//
-
#ifndef StructuredDataDarwinLog_h
#define StructuredDataDarwinLog_h
@@ -16,149 +15,121 @@
#include <mutex>
// Forward declarations
-namespace sddarwinlog_private
-{
- class EnableCommand;
+namespace sddarwinlog_private {
+class EnableCommand;
}
-namespace lldb_private
-{
+namespace lldb_private {
-class StructuredDataDarwinLog : public StructuredDataPlugin
-{
- friend sddarwinlog_private::EnableCommand;
+class StructuredDataDarwinLog : public StructuredDataPlugin {
+ friend sddarwinlog_private::EnableCommand;
public:
+ // -------------------------------------------------------------------------
+ // Public static API
+ // -------------------------------------------------------------------------
- // -------------------------------------------------------------------------
- // Public static API
- // -------------------------------------------------------------------------
-
- static void
- Initialize();
-
- static void
- Terminate();
+ static void Initialize();
- static const ConstString&
- GetStaticPluginName();
+ static void Terminate();
- // -------------------------------------------------------------------------
- /// Return whether the DarwinLog functionality is enabled.
- ///
- /// The DarwinLog functionality is enabled if the user expicitly enabled
- /// it with the enable command, or if the user has the setting set
- /// that controls if we always enable it for newly created/attached
- /// processes.
- ///
- /// @return
- /// True if DarwinLog support is/will be enabled for existing or
- /// newly launched/attached processes.
- // -------------------------------------------------------------------------
- static bool
- IsEnabled();
+ static const ConstString &GetStaticPluginName();
- // -------------------------------------------------------------------------
- // PluginInterface API
- // -------------------------------------------------------------------------
+ // -------------------------------------------------------------------------
+ /// Return whether the DarwinLog functionality is enabled.
+ ///
+ /// The DarwinLog functionality is enabled if the user expicitly enabled
+ /// it with the enable command, or if the user has the setting set
+ /// that controls if we always enable it for newly created/attached
+ /// processes.
+ ///
+ /// @return
+ /// True if DarwinLog support is/will be enabled for existing or
+ /// newly launched/attached processes.
+ // -------------------------------------------------------------------------
+ static bool IsEnabled();
- ConstString
- GetPluginName() override;
+ // -------------------------------------------------------------------------
+ // PluginInterface API
+ // -------------------------------------------------------------------------
- uint32_t
- GetPluginVersion() override;
+ ConstString GetPluginName() override;
- // -------------------------------------------------------------------------
- // StructuredDataPlugin API
- // -------------------------------------------------------------------------
+ uint32_t GetPluginVersion() override;
- bool
- SupportsStructuredDataType(const ConstString &type_name) override;
+ // -------------------------------------------------------------------------
+ // StructuredDataPlugin API
+ // -------------------------------------------------------------------------
- void
- HandleArrivalOfStructuredData(Process &process,
- const ConstString &type_name,
- const StructuredData::ObjectSP
- &object_sp) override;
+ bool SupportsStructuredDataType(const ConstString &type_name) override;
- Error
- GetDescription(const StructuredData::ObjectSP &object_sp,
- lldb_private::Stream &stream) override;
+ void HandleArrivalOfStructuredData(
+ Process &process, const ConstString &type_name,
+ const StructuredData::ObjectSP &object_sp) override;
+ Error GetDescription(const StructuredData::ObjectSP &object_sp,
+ lldb_private::Stream &stream) override;
- bool
- GetEnabled(const ConstString &type_name) const override;
+ bool GetEnabled(const ConstString &type_name) const override;
- void
- ModulesDidLoad(Process &process, ModuleList &module_list) override;
+ void ModulesDidLoad(Process &process, ModuleList &module_list) override;
private:
+ // -------------------------------------------------------------------------
+ // Private constructors
+ // -------------------------------------------------------------------------
- // -------------------------------------------------------------------------
- // Private constructors
- // -------------------------------------------------------------------------
+ StructuredDataDarwinLog(const lldb::ProcessWP &process_wp);
- StructuredDataDarwinLog(const lldb::ProcessWP &process_wp);
+ // -------------------------------------------------------------------------
+ // Private static methods
+ // -------------------------------------------------------------------------
- // -------------------------------------------------------------------------
- // Private static methods
- // -------------------------------------------------------------------------
+ static lldb::StructuredDataPluginSP CreateInstance(Process &process);
- static lldb::StructuredDataPluginSP
- CreateInstance(Process &process);
+ static void DebuggerInitialize(Debugger &debugger);
- static void
- DebuggerInitialize(Debugger &debugger);
+ static bool InitCompletionHookCallback(void *baton,
+ StoppointCallbackContext *context,
+ lldb::user_id_t break_id,
+ lldb::user_id_t break_loc_id);
- static bool
- InitCompletionHookCallback(void *baton, StoppointCallbackContext *context,
- lldb::user_id_t break_id,
- lldb::user_id_t break_loc_id);
+ static Error FilterLaunchInfo(ProcessLaunchInfo &launch_info, Target *target);
- static Error
- FilterLaunchInfo(ProcessLaunchInfo &launch_info, Target *target);
+ // -------------------------------------------------------------------------
+ // Internal helper methods used by friend classes
+ // -------------------------------------------------------------------------
+ void SetEnabled(bool enabled);
- // -------------------------------------------------------------------------
- // Internal helper methods used by friend classes
- // -------------------------------------------------------------------------
- void
- SetEnabled(bool enabled);
+ void AddInitCompletionHook(Process &process);
- void
- AddInitCompletionHook(Process &process);
+ // -------------------------------------------------------------------------
+ // Private methods
+ // -------------------------------------------------------------------------
- // -------------------------------------------------------------------------
- // Private methods
- // -------------------------------------------------------------------------
+ void DumpTimestamp(Stream &stream, uint64_t timestamp);
- void
- DumpTimestamp(Stream &stream, uint64_t timestamp);
+ size_t DumpHeader(Stream &stream, const StructuredData::Dictionary &event);
- size_t
- DumpHeader(Stream &stream, const StructuredData::Dictionary &event);
+ size_t HandleDisplayOfEvent(const StructuredData::Dictionary &event,
+ Stream &stream);
- size_t
- HandleDisplayOfEvent(const StructuredData::Dictionary &event,
- Stream &stream);
+ // -------------------------------------------------------------------------
+ /// Call the enable command again, using whatever settings were initially
+ /// made.
+ // -------------------------------------------------------------------------
- // -------------------------------------------------------------------------
- /// Call the enable command again, using whatever settings were initially
- /// made.
- // -------------------------------------------------------------------------
+ void EnableNow();
- void
- EnableNow();
-
- // -------------------------------------------------------------------------
- // Private data
- // -------------------------------------------------------------------------
- bool m_recorded_first_timestamp;
- uint64_t m_first_timestamp_seen;
- bool m_is_enabled;
- std::mutex m_added_breakpoint_mutex;
- bool m_added_breakpoint;
+ // -------------------------------------------------------------------------
+ // Private data
+ // -------------------------------------------------------------------------
+ bool m_recorded_first_timestamp;
+ uint64_t m_first_timestamp_seen;
+ bool m_is_enabled;
+ std::mutex m_added_breakpoint_mutex;
+ bool m_added_breakpoint;
};
-
}
#endif /* StructuredDataPluginDarwinLog_hpp */
OpenPOWER on IntegriCloud