libGimbal 0.1.0
C17-Based Extended Standard Library and Cross-Language Runtime Framework
Loading...
Searching...
No Matches
gimbal_ievent_handler.h
Go to the documentation of this file.
1/*! \file
2 * \brief GblIEventHandler abstract event handler interface
3 * \ingroup interfaces
4 * \todo
5 * - combine me with event filter
6 *
7 * \author Falco Girgis
8 */
9
10
11#ifndef GIMBAL_IEVENT_HANDLER_H
12#define GIMBAL_IEVENT_HANDLER_H
13
15#include "../instances/gimbal_instance.h"
16
17#define GBL_IEVENT_HANDLER_TYPE (GBL_TYPEID(GblIEventHandler))
18#define GBL_IEVENT_HANDLER(instance) (GBL_CAST(GblIEventHandler, instance))
19#define GBL_IEVENT_HANDLER_CLASS(klass) (GBL_CLASS_CAST(GblIEventHandler, klass))
20#define GBL_IEVENT_HANDLER_GET_CLASS(instance) (GBL_CLASSOF(GblIEventHandler, instance))
21
22#define GBL_SELF_TYPE GblIEventHandler
23
25
27
28/*! \struct GblIEventHandlerClass
29 * \extends GblInterface
30 * \brief GblClass structure for GblIEventHandler
31 */
32GBL_INTERFACE_DERIVE(GblIEventHandler)
33 GBL_RESULT (*pFnEvent)(GBL_SELF, GblEvent* pEvent);
35
36GBL_EXPORT GblType GblIEventHandler_type (void) GBL_NOEXCEPT;
37
38GBL_EXPORT GBL_RESULT GblIEventHandler_event (GBL_SELF, GblEvent* pEvent) GBL_NOEXCEPT;
39
41
42#undef GBL_SELF_TYPE
43
44#endif // GIMBAL_IEVENT_HANDLER_H
#define GBL_CLASS_CAST(cType, klass)
#define GBL_NOEXCEPT
#define GBL_DECLS_BEGIN
#define GBL_FORWARD_DECLARE_STRUCT(S)
#define GBL_TYPEID(instanceStruct)
#define GBL_INTERFACE_END
#define GBL_INTERFACE_DERIVE(...)
#define GBL_EXPORT
#define GBL_CLASSOF(cType, self)
#define GBL_CAST(cType, self)
uintptr_t GblType
Meta Type UUID.
Definition gimbal_type.h:51