source:
code/trunk/src/network/NetworkCallback.h
@
2149
Last change on this file since 2149 was 2087, checked in by landauf, 16 years ago | |
---|---|
|
|
File size: 617 bytes |
Rev | Line | |
---|---|---|
[1529] | 1 | #ifndef _NETWORK_CALLBACK__ |
2 | #define _NETWORK_CALLBACK__ | |
3 | ||
[2087] | 4 | #include "NetworkPrereqs.h" |
5 | ||
[1529] | 6 | namespace network{ |
[2087] | 7 | class _NetworkExport NetworkCallbackBase |
[1529] | 8 | { |
9 | public: | |
10 | virtual void call() = 0; | |
[1536] | 11 | virtual ~NetworkCallbackBase() {} |
[1529] | 12 | }; |
[2087] | 13 | |
[1529] | 14 | template <class T> |
15 | class NetworkCallback: public NetworkCallbackBase | |
16 | { | |
17 | public: | |
18 | NetworkCallback(T* object, void (T::*function) (void)) : object_(object), function_(function) {} | |
[1536] | 19 | virtual ~NetworkCallback() {} |
[1529] | 20 | virtual void call() |
21 | { (this->object_->*function_)(); } | |
[2087] | 22 | |
[1529] | 23 | private: |
24 | T* object_; | |
25 | void (T::*function_) (void); | |
[2087] | 26 | }; |
[1529] | 27 | |
28 | ||
29 | } | |
30 | ||
31 | ||
32 | #endif |
Note: See TracBrowser
for help on using the repository browser.