Files
2022-10-26 12:25:11 +08:00

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)
{
}
};