source:
code/trunk/src/network/NetworkCallback.h
@
2653
| Last change on this file since 2653 was 2171, checked in by landauf, 17 years ago | |
|---|---|
|
|
| File size: 617 bytes | |
| Rev | Line | |
|---|---|---|
| [1529] | 1 | #ifndef _NETWORK_CALLBACK__ |
| 2 | #define _NETWORK_CALLBACK__ | |
| 3 | ||
| [2087] | 4 | #include "NetworkPrereqs.h" |
| 5 | ||
| [2171] | 6 | namespace orxonox{ |
| [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.










