11 #ifndef __mlEventSource_H
12 #define __mlEventSource_H
43 bool hasEventListeners()
const;
55 void sendEvent(
BaseEvent* event,
void* skipListener = NULL);
59 struct ListenerEntry {
60 ListenerEntry(
BaseEventCallback* aCB,
void* aUserData) : cb(aCB), userData(aUserData) {}
61 void sendEvent(BaseEvent* event)
const { (*cb)(userData, event); }
62 bool operator==(
const ListenerEntry& b)
const {
return cb == b.cb && userData == b.userData; }
69 std::list<ListenerEntry> _eventListeners;
113 template<
typename ToTypePtr>
116 if (from->getTypeId()->isDerivedFrom((static_cast<ToTypePtr>(0))->getClassTypeId())) {
117 return static_cast<ToTypePtr
>(from);
127 template<
typename ToTypePtr>
130 if (from->getTypeId()->isDerivedFrom((static_cast<ToTypePtr>(0))->getClassTypeId())) {
131 return static_cast<ToTypePtr
>(from);
141 #endif // __mlEventSource_H
bool operator==(const Tmat2< DT > &a, const Tmat2< DT > &b)
a == b ? Return true if yes.
Class representing general ML objects that support import/export via strings (setPersistentState() an...
EventSource(const EventSource &evSource)
void BaseEventCallback(void *, BaseEvent *)
#define ML_UTILS_EXPORT
Defines platform dependent DLL export macro for mlUtils.
EventSourceBase class adds event listener handling to Base.
EventSource * source() const
get the Base object emitting this event
BaseEvent is the base class for all events emitted from EventSourceBase.
#define ML_CLASS_HEADER(className)
Same like ML_CLASS_HEADER_EXPORTED with a non existing export symbol.
EventSourceDeletedEvent()
ToTypePtr mlbaseevent_cast(ml::BaseEvent *from)
cast operation for safely casting BaseEvents to derived types
#define ML_ABSTRACT_CLASS_HEADER(className)
Same like ML_ABSTRACT_CLASS_HEADER_EXPORTED with a non existing export symbol.
Class representing general ML objects that support import/export via strings (setPersistentState() an...
EventSourceRemovedEvent is used to indicate when the EventSourceBase object is removed.