Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/trunk/src/network/NetworkCallback.h @ 2087

Last change on this file since 2087 was 2087, checked in by landauf, 16 years ago

merged objecthierarchy branch back to trunk

  • Property svn:eol-style set to native
File size: 617 bytes
RevLine 
[1529]1#ifndef _NETWORK_CALLBACK__
2#define _NETWORK_CALLBACK__
3
[2087]4#include "NetworkPrereqs.h"
5
[1529]6namespace 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.