diff options
author | Alexander Tkachev | 2016-05-26 19:02:55 +0600 |
---|---|---|
committer | Alexander Tkachev | 2016-08-24 16:07:55 +0600 |
commit | f4547f44df32ce1f49a6a36df083e7703751adcd (patch) | |
tree | a69e2f703a42348d9766ad128bb88b2c169719ad /common/callback.h | |
parent | 62ccf1f902100febfb1be02b67e84a6e4938ebbf (diff) | |
download | scummvm-rg350-f4547f44df32ce1f49a6a36df083e7703751adcd.tar.gz scummvm-rg350-f4547f44df32ce1f49a6a36df083e7703751adcd.tar.bz2 scummvm-rg350-f4547f44df32ce1f49a6a36df083e7703751adcd.zip |
CLOUD: Add RequestIdPair struct
Can be used with Callback<T> (means it's still type safe). It's used to
pass not only Request id to user's callback, but also a value user
wanted.
void *data field is removed from RequestInfo.
Diffstat (limited to 'common/callback.h')
-rw-r--r-- | common/callback.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/common/callback.h b/common/callback.h index 2101331bf0..4356e4b551 100644 --- a/common/callback.h +++ b/common/callback.h @@ -48,21 +48,21 @@ public: }; /** -* GlobalFunctionCallback is a simple wrapper for global C functions. +* GlobalFunctionCallback<T> is a simple wrapper for global C functions. * -* If there is a method, which accepts BaseCallback<void *>, you can +* If there is a method, which accepts BaseCallback<T>, you can * easily pass your C function by passing -* new GlobalFunctionCallback(yourFunction) +* new GlobalFunctionCallback<T>(yourFunction) */ -class GlobalFunctionCallback: public BaseCallback<void *> { - typedef void(*GlobalFunction)(void *result); +template<typename T> class GlobalFunctionCallback: public BaseCallback<T> { + typedef void(*GlobalFunction)(T result); GlobalFunction _callback; public: GlobalFunctionCallback(GlobalFunction cb): _callback(cb) {} virtual ~GlobalFunctionCallback() {} - virtual void operator()(void *data) { + virtual void operator()(T data) { if (_callback) _callback(data); } }; |