Zen API
 All Classes Files Functions Variables Typedefs Friends Macros Modules Pages
kEvent.h
Go to the documentation of this file.
1 
10 #ifndef K_API_EVENT_H
11 #define K_API_EVENT_H
12 
13 #include <kApi/kApiDef.h>
14 #include <kApi/Utils/kEvent.x.h>
15 
22 //typedef kObject kEvent; --forward-declared in kApiDef.x.h
23 
32 kFx(kStatus) kEvent_Construct(kEvent* evnt, kAlloc allocator);
33 
43 kFx(kStatus) kEvent_Add(kEvent evnt, kCallbackFx function, kPointer receiver);
44 
54 kFx(kStatus) kEvent_Remove(kEvent evnt, kCallbackFx function, kPointer receiver);
55 
63 kFx(kStatus) kEvent_Clear(kEvent evnt);
64 
74 kFx(kStatus) kEvent_Notify(kEvent evnt, kPointer sender, void* args);
75 
84 {
85  kObj(kEvent, evnt);
86 
87  return kList_Count(obj->listeners);
88 }
89 
101 {
102  kObj(kEvent, evnt);
103 
104  return obj->listeners;
105 }
106 
107 #endif
kSize kEvent_Count(kEvent evnt)
Count of event listeners.
Definition: kEvent.h:83
Represents a void pointer.
kSize kList_Count(kList list)
Returns the count of list elements.
Definition: kList.h:150
Represents an unsigned integer that can store a pointer address.
Abstract base class for memory allocator types.
Represents a list of callbacks.
#define kInlineFx(TYPE)
Inline method declaration helper.
Definition: kApiDef.h:26
kStatus kEvent_Construct(kEvent *evnt, kAlloc allocator)
Constructs a kEvent object.
kList kEvent_Listeners(kEvent evnt)
Gets the internal list of event listeners.
Definition: kEvent.h:100
#define kObj(TypeName_T, T_object)
Declares a local "obj" (this-pointer) variable and initializes it from a type-checked object handle...
Definition: kApiDef.h:2921
Core Zen type declarations.
kStatus kEvent_Clear(kEvent evnt)
Removes all listeners from the event.
kStatus(kCall * kCallbackFx)(kPointer receiver, kPointer sender, void *args)
Callback signature for a generic event handler.
Definition: kApiDef.h:1735
kStatus kEvent_Remove(kEvent evnt, kCallbackFx function, kPointer receiver)
Removes a listener from the event.
kStatus kEvent_Add(kEvent evnt, kCallbackFx function, kPointer receiver)
Adds a listener to the event.
Represents a doubly-linked list.
Represents an error code.
kStatus kEvent_Notify(kEvent evnt, kPointer sender, void *args)
Notifies all event listeners.