31 : m_broadcaster_wp(broadcaster->GetBroadcasterImpl()), m_type(event_type),
35 const EventDataSP &event_data_sp)
36 : m_broadcaster_wp(broadcaster->GetBroadcasterImpl()), m_type(event_type),
37 m_data_sp(event_data_sp) {}
40 : m_broadcaster_wp(), m_type(event_type), m_data_sp(data) {}
43 : m_broadcaster_wp(), m_type(event_type), m_data_sp(event_data_sp) {}
50 if (broadcaster_impl_sp)
51 broadcaster = broadcaster_impl_sp->GetBroadcaster();
53 broadcaster =
nullptr;
58 s->
Printf(
"%p Event: broadcaster = %p (%s), type = 0x%8.8x (%s), data = ",
59 static_cast<const void *
>(
this),
60 static_cast<void *
>(broadcaster),
64 s->
Printf(
"%p Event: broadcaster = %p (%s), type = 0x%8.8x, data = ",
65 static_cast<const void *
>(
this),
66 static_cast<void *
>(broadcaster),
69 s->
Printf(
"%p Event: broadcaster = NULL, type = 0x%8.8x, data = ",
70 static_cast<const void *
>(
this),
m_type);
97#pragma mark EventDataBytes
127 if (llvm::all_of(
m_bytes, llvm::isPrint))
130 s->
Format(
"{0:$[ ]@[x-2]}", llvm::make_range(
131 reinterpret_cast<const uint8_t *
>(
m_bytes.data()),
132 reinterpret_cast<const uint8_t *
>(
m_bytes.data() +
143 if (src !=
nullptr && src_len > 0)
144 m_bytes.assign(
static_cast<const char *
>(src), src_len);
150 if (cstr !=
nullptr && cstr[0])
172 if (event_ptr !=
nullptr) {
186#pragma mark EventStructuredData
191 :
EventData(), m_process_sp(), m_object_sp(), m_plugin_sp() {}
195 const lldb::StructuredDataPluginSP &plugin_sp)
196 :
EventData(), m_process_sp(process_sp), m_object_sp(object_sp),
197 m_plugin_sp(plugin_sp) {}
223const lldb::StructuredDataPluginSP &
238 const lldb::StructuredDataPluginSP &plugin_sp) {
246 if (event_ptr ==
nullptr)
260 return event_data->GetProcess();
269 return event_data->GetObject();
274lldb::StructuredDataPluginSP
278 return event_data->GetStructuredDataPlugin();
280 return StructuredDataPluginSP();
284 static ConstString s_flavor(
"EventDataStructuredData");
An event broadcasting class.
ConstString GetBroadcasterName()
Get the NULL terminated C string name of this Broadcaster object.
std::shared_ptr< BroadcasterImpl > BroadcasterImplSP
bool GetEventNames(Stream &s, const uint32_t event_mask, bool prefix_with_broadcaster_name) const
Get the event name(s) for one or more event bits.
A uniqued constant string class.
const char * GetCString() const
Get the string value as a C string.
void SetBytesFromCString(const char *cstr)
void SwapBytes(std::string &new_bytes)
const void * GetBytes() const
~EventDataBytes() override
static const void * GetBytesFromEvent(const Event *event_ptr)
static size_t GetByteSizeFromEvent(const Event *event_ptr)
ConstString GetFlavor() const override
void SetBytes(const void *src, size_t src_len)
void Dump(Stream *s) const override
static const EventDataBytes * GetEventDataFromEvent(const Event *event_ptr)
static ConstString GetFlavorString()
size_t GetByteSize() const
This class handles one or more StructuredData::Dictionary entries that are raised for structured data...
const StructuredData::ObjectSP & GetObject() const
const lldb::ProcessSP & GetProcess() const
void SetStructuredDataPlugin(const lldb::StructuredDataPluginSP &plugin_sp)
lldb::StructuredDataPluginSP m_plugin_sp
const lldb::StructuredDataPluginSP & GetStructuredDataPlugin() const
void SetObject(const StructuredData::ObjectSP &object_sp)
StructuredData::ObjectSP m_object_sp
static lldb::ProcessSP GetProcessFromEvent(const Event *event_ptr)
ConstString GetFlavor() const override
~EventDataStructuredData() override
lldb::ProcessSP m_process_sp
static ConstString GetFlavorString()
void SetProcess(const lldb::ProcessSP &process_sp)
static lldb::StructuredDataPluginSP GetPluginFromEvent(const Event *event_ptr)
EventDataStructuredData()
static StructuredData::ObjectSP GetObjectFromEvent(const Event *event_ptr)
static const EventDataStructuredData * GetEventDataFromEvent(const Event *event_ptr)
void Dump(Stream *s) const override
virtual void Dump(Stream *s) const
virtual ConstString GetFlavor() const =0
Broadcaster::BroadcasterImplWP m_broadcaster_wp
lldb::EventDataSP m_data_sp
void Dump(Stream *s) const
const char * GetData() const
A stream class that can stream formatted output to a file.
void Format(const char *format, Args &&... args)
size_t Printf(const char *format,...) __attribute__((format(printf
Output printf formatted output to the stream.
size_t PutCString(llvm::StringRef cstr)
Output a C string to the stream.
std::shared_ptr< Object > ObjectSP
A class that represents a running process on the host machine.