with ZFCallback available, it's easy to use observer mechanism
public:
void test(void) {
this->observerNotify(
MyObject::EventMyEvent(),
myParam0,
myParam1);
}
};
static void testListener1(
ZF_IN const ZFArgs &zfargs) {
<< zfargs.sender()
<< zfargs.param0()
<< zfargs.param1()
;
}
static void testListener2(
) {
<< zfargs.sender()
<< zfargs.param0()
<< zfargs.param1()
<< myUserData
;
}
#define zfextend
dummy macro shows class inherit from another
Definition ZFCoreTypeDef_ClassType.h:53
#define ZF_IN
dummy macro that shows the param used as required input
Definition ZFCoreTypeDef_ClassType.h:180
#define zfLog(...)
thread-safe log utility
Definition ZFLog.h:64
#define zfclass
same as class, shows that this class is a ZFObject type
Definition ZFObjectClassTypeFwd.h:38
#define ZFOBJECT_DECLARE(ChildClass, SuperClass)
necessary for every class inherit from ZFObject
Definition ZFObjectDeclare.h:124
#define ZFOBSERVER_EVENT(YourEvent)
see ZFObject::observerNotify
Definition ZFObjectObserver.h:262
listener data used by ZFListener
Definition ZFArgs.h:21
base class of all objects
Definition ZFObjectCore.h:214
type wrapper for ZFTypeId::Value
Definition ZFTypeId_CoreType.h:171
util class to alloc and hold ZFObject type
Definition ZFObjectAutoPtr.h:163
obj->observerAdd(MyObject::EventMyEvent(), listener1);
) {
testListener2(zfargs, myUserData);
obj->observerAdd(MyObject::EventMyEvent(), listener2);
obj->test();
obj->observerNotify(MyObject::EventMyEvent(), myParam0, myParam1);
#define ZFCallbackForFunc(callbackRawFunction)
create a callback from static function
Definition ZFCallback.h:388
#define ZFLISTENER_END()
see ZFLISTENER
Definition ZFListenerDeclare.h:17
#define ZFLISTENER_1(name, CaptureParam0, capture0)
see ZFLISTENER
Definition ZFListenerDeclare.h:69
listener as ZFCallback, mostly used by ZFObject::observerNotify
Definition ZFObjectObserver.h:30
type restrict version of zfauto
Definition zfautoFwd.h:141