24 lines
401 B
C++
24 lines
401 B
C++
#ifndef TMETHODJOB_H
|
|
#define TMETHODJOB_H
|
|
|
|
#include "IJob.h"
|
|
|
|
template <class T>
|
|
class TMethodJob : public IJob {
|
|
public:
|
|
typedef void (T::*Method)();
|
|
|
|
TMethodJob(T* object, Method method) :
|
|
m_object(object), m_method(method) { }
|
|
virtual ~TMethodJob() { }
|
|
|
|
// IJob overrides
|
|
virtual void run() { (m_object->*m_method)(); }
|
|
|
|
private:
|
|
T* m_object;
|
|
Method m_method;
|
|
};
|
|
|
|
#endif
|