9#ifndef LLDB_UTILITY_EVENT_H
10#define LLDB_UTILITY_EVENT_H
19#include "llvm/ADT/StringRef.h"
80 void SetBytes(
const void *src,
size_t src_len);
109 static ConstString g_flavor(
"Process::ProcessEventData");
137 const lldb::StructuredDataPluginSP &plugin_sp);
152 void SetProcess(
const lldb::ProcessSP &process_sp);
166 static lldb::StructuredDataPluginSP
192 const lldb::EventDataSP &event_data_sp);
215 if (broadcaster_impl_sp)
216 return broadcaster_impl_sp->GetBroadcaster();
224 if (broadcaster_impl_sp)
225 return broadcaster_impl_sp->GetBroadcaster() == broadcaster;
BroadcasterImpl contains the actual Broadcaster implementation.
An event broadcasting class.
std::weak_ptr< BroadcasterImpl > BroadcasterImplWP
BroadcasterImplSP GetBroadcasterImpl()
std::shared_ptr< BroadcasterImpl > BroadcasterImplSP
A uniqued constant string class.
void SetBytesFromCString(const char *cstr)
const EventDataBytes & operator=(const EventDataBytes &)=delete
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)
EventDataBytes(const EventDataBytes &)=delete
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
static ConstString GetFlavorString()
ConstString GetFlavor() const override
Predicate< bool > m_predicate
void DoOnRemoval(Event *event_ptr) override
bool WaitForEventReceived(const Timeout< std::micro > &timeout=std::nullopt)
~EventDataReceipt() override=default
This class handles one or more StructuredData::Dictionary entries that are raised for structured data...
EventDataStructuredData(const EventDataStructuredData &)=delete
EventDataStructuredData(const lldb::ProcessSP &process_sp, const StructuredData::ObjectSP &object_sp, const lldb::StructuredDataPluginSP &plugin_sp)
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)
const EventDataStructuredData & operator=(const EventDataStructuredData &)=delete
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
const EventData & operator=(const EventData &)=delete
virtual void DoOnRemoval(Event *event_ptr)
virtual Log * GetLogChannel()
virtual void Dump(Stream *s) const
virtual ConstString GetFlavor() const =0
EventData(const EventData &)=delete
Broadcaster::BroadcasterImplWP m_broadcaster_wp
bool BroadcasterIs(Broadcaster *broadcaster)
Event(const Event &)=delete
void SetType(uint32_t new_type)
Event(uint32_t event_type, const lldb::EventDataSP &event_data_sp)
lldb::EventDataSP m_data_sp
const EventData * GetData() const
Event(Broadcaster *broadcaster, uint32_t event_type, const lldb::EventDataSP &event_data_sp)
void SetData(EventData *new_data)
const Event & operator=(const Event &)=delete
void Dump(Stream *s) const
void SetBroadcaster(Broadcaster *broadcaster)
Broadcaster * GetBroadcaster() const
A C++ wrapper class for providing threaded access to a value of type T.
void SetValue(T value, PredicateBroadcastType broadcast_type)
Value set accessor.
bool WaitForValueEqualTo(T value, const Timeout< std::micro > &timeout=std::nullopt)
Wait for m_value to be equal to value.
A stream class that can stream formatted output to a file.
std::shared_ptr< Object > ObjectSP
A class that represents a running process on the host machine.
@ eBroadcastAlways
Always send a broadcast when the value is modified.