mirror of
https://github.com/araxiaonline/TrinityCore2.git
synced 2026-06-15 20:42:21 -04:00
38 lines
800 B
C++
38 lines
800 B
C++
#ifndef _M_DELAY_EXECUTOR_H
|
|
#define _M_DELAY_EXECUTOR_H
|
|
|
|
#include <ace/Task.h>
|
|
#include <ace/Activation_Queue.h>
|
|
#include <ace/Method_Request.h>
|
|
|
|
class DelayExecutor : protected ACE_Task_Base
|
|
{
|
|
public:
|
|
|
|
DelayExecutor();
|
|
virtual ~DelayExecutor();
|
|
|
|
static DelayExecutor* instance();
|
|
|
|
int execute(ACE_Method_Request* new_req);
|
|
|
|
int activate(int num_threads = 1, ACE_Method_Request* pre_svc_hook = NULL, ACE_Method_Request* post_svc_hook = NULL);
|
|
|
|
int deactivate();
|
|
|
|
bool activated();
|
|
|
|
virtual int svc();
|
|
|
|
private:
|
|
|
|
ACE_Activation_Queue queue_;
|
|
ACE_Method_Request* pre_svc_hook_;
|
|
ACE_Method_Request* post_svc_hook_;
|
|
bool activated_;
|
|
|
|
void activated(bool s);
|
|
};
|
|
|
|
#endif // _M_DELAY_EXECUTOR_H
|