libGimbal 0.1.0
C17-Based Extended Standard Library and Cross-Language Runtime Framework
Loading...
Searching...
No Matches
gimbal_ievent_filter.h
Go to the documentation of this file.
1/*! \file
2 * \brief GblIEventFilter abstract event filter interface
3 * \ingroup interfaces
4 * \todo
5 * - combine with GblIEventHandler
6 *
7 * \author Falco Girgis
8 */
9
10
11#ifndef GIMBAL_IEVENT_FILTER_H
12#define GIMBAL_IEVENT_FILTER_H
13
15#include "../instances/gimbal_instance.h"
16
17#define GBL_IEVENT_FILTER_TYPE (GBL_TYPEID(GblIEventFilter))
18#define GBL_IEVENT_FILTER(instance) (GBL_CAST(GblIEventFilter, instance))
19#define GBL_IEVENT_FILTER_CLASS(klass) (GBL_CLASS_CAST(GblIEventFilter, klass))
20#define GBL_IEVENT_FILTER_GET_CLASS(instance) (GBL_CLASSOF(GblIEventFilter, instance))
21
22#define GBL_SELF_TYPE GblIEventFilter
23
25
26GBL_FORWARD_DECLARE_STRUCT(GblIEventHandler);
28
29/*! \struct GblIEventFilterClass
30 * \extends GblInterface
31 * \brief GblClass structure for GblIEventFilter
32 */
33GBL_INTERFACE_DERIVE(GblIEventFilter)
34 GBL_RESULT (*pFnEventFilter)(GBL_SELF, GblIEventHandler* pHandler, GblEvent* pEvent);
36
37GBL_EXPORT GblType GblIEventFilter_type (void) GBL_NOEXCEPT;
38
39GBL_EXPORT GBL_RESULT GblIEventFilter_eventFilter (GBL_SELF,
40 GblIEventHandler* pHandler,
41 GblEvent* pEvent) GBL_NOEXCEPT;
42
44
45#undef GBL_SELF_TYPE
46
47
48#endif // GIMBAL_IEVENT_FILTER_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