#include "lldb/Bindings/LLDBBinding.h"
#include "lldb/API/LLDB.h"
using namespace lldb;
#ifdef __cplusplus
extern "C" {
#endif
SBBroadcasterRef
CreateSBBroadcaster()
{
return reinterpret_cast<SBBroadcasterRef>(new SBBroadcaster());
}
SBBroadcasterRef
CreateSBBroadcaster2(const char *name)
{
return reinterpret_cast<SBBroadcasterRef>(new SBBroadcaster(name));
}
void
DisposeSBBroadcaster(SBBroadcasterRef instance)
{
delete reinterpret_cast<SBBroadcaster *>(instance);
}
bool
SBBroadcasterIsValid(SBBroadcasterRef instance)
{
SBBroadcaster *unwrapped = reinterpret_cast<SBBroadcaster *>(instance);
return unwrapped->IsValid();
}
void
SBBroadcasterClear(SBBroadcasterRef instance)
{
SBBroadcaster *unwrapped = reinterpret_cast<SBBroadcaster *>(instance);
unwrapped->Clear();
}
void
SBBroadcasterBroadcastEventByType(SBBroadcasterRef instance, uint32_t event_type, bool unique)
{
SBBroadcaster *unwrapped = reinterpret_cast<SBBroadcaster *>(instance);
unwrapped->BroadcastEventByType(event_type, unique);
}
void
SBBroadcasterBroadcastEvent(SBBroadcasterRef instance, SBEventRef event, bool unique)
{
SBBroadcaster *unwrapped = reinterpret_cast<SBBroadcaster *>(instance);
unwrapped->BroadcastEvent(*reinterpret_cast<SBEvent *>(event), unique);
}
void
SBBroadcasterAddInitialEventsToListener(SBBroadcasterRef instance, SBListenerRef listener,
uint32_t requested_events)
{
SBBroadcaster *unwrapped = reinterpret_cast<SBBroadcaster *>(instance);
unwrapped->AddInitialEventsToListener(*reinterpret_cast<SBListener *>(listener), requested_events);
}
unsigned int
SBBroadcasterAddListener(SBBroadcasterRef instance, SBListenerRef listener, uint32_t event_mask)
{
SBBroadcaster *unwrapped = reinterpret_cast<SBBroadcaster *>(instance);
return unwrapped->AddListener(*reinterpret_cast<SBListener *>(listener), event_mask);
}
const char *
SBBroadcasterGetName(SBBroadcasterRef instance)
{
SBBroadcaster *unwrapped = reinterpret_cast<SBBroadcaster *>(instance);
return unwrapped->GetName();
}
bool
SBBroadcasterEventTypeHasListeners(SBBroadcasterRef instance, uint32_t event_type)
{
SBBroadcaster *unwrapped = reinterpret_cast<SBBroadcaster *>(instance);
return unwrapped->EventTypeHasListeners(event_type);
}
bool
SBBroadcasterRemoveListener(SBBroadcasterRef instance, SBListenerRef listener, uint32_t event_mask)
{
SBBroadcaster *unwrapped = reinterpret_cast<SBBroadcaster *>(instance);
return unwrapped->RemoveListener(*reinterpret_cast<SBListener *>(listener), event_mask);
}
#ifdef __cplusplus
}
#endif