53 lines
734 B
C++
53 lines
734 B
C++
#pragma once
|
|
|
|
|
|
|
|
class Command
|
|
{
|
|
protected:
|
|
Command(){}
|
|
|
|
public:
|
|
virtual ~Command(){}
|
|
void Execute() { OnExecute(); }
|
|
|
|
private:
|
|
virtual void OnExecute() PURE;
|
|
};
|
|
|
|
class SendPacketCommand
|
|
: public Command
|
|
{
|
|
private:
|
|
eCONNECTION_INDEX connection_;
|
|
BYTE* buffer_;
|
|
int buffer_size_;
|
|
|
|
public:
|
|
SendPacketCommand( eCONNECTION_INDEX connection, void* buffer, int buffer_size );
|
|
|
|
private:
|
|
~SendPacketCommand();
|
|
|
|
void OnExecute(); // override
|
|
};
|
|
|
|
|
|
class FunctionCommand
|
|
: public Command
|
|
{
|
|
private:
|
|
void (*execute_func_)();
|
|
|
|
void OnExecute() // override
|
|
{
|
|
execute_func_();
|
|
}
|
|
|
|
public:
|
|
FunctionCommand( void (*func)() )
|
|
: execute_func_(func)
|
|
{
|
|
}
|
|
};
|