12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- // DelegateArg.h
- #pragma once
- #include "XDWRTTI.hpp"
- #ifndef _DELEGATEARG_DLL
- #define DELEGATEARG_API _declspec(dllimport)
- #else
- #define DELEGATEARG_API _declspec(dllexport)
- #endif
- //-----------------------------------------------------------------------------
- // DelegateArgs
- //-----------------------------------------------------------------------------
- //
- // Arguments of a Delegate
- // You are supposed to derive this class to include
- // more informations regarding the delegate
- class DELEGATEARG_API DelegateArgs : public XDWObject
- {
- typedef XDWObject inherited;
- DECLARE_RTTI (DelegateArgs)
- public:
- DelegateArgs () { }
- virtual ~DelegateArgs () { }
- };
- //-----------------------------------------------------------------------------
- // EventArgs_Null
- // 定义这个空的参数类型, 是告诉使用者, 无论是调用方还是接受方, 都不关心参数类型, 即使是 nullptr 也不在乎
- // 任何 DelegateArgs 的继承类, 都不能继承自这个类
- // 所有监听者, 最好不要试图引用参数, 即最好写成如下格式
- // OnXXX (const void * sender, EventArgs_Null *)
- //-----------------------------------------------------------------------------
- class DELEGATEARG_API EventArgs_Null : public DelegateArgs
- {
- typedef DelegateArgs inherited;
- DECLARE_RTTI (EventArgs_Null)
- };
|