00001
#if !defined(__ABSTRACTCOMMAND_HPP)
00002
#define __ABSTRACTCOMMAND_HPP
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
#if !defined(__COMMON_HPP)
00025
#include <Common.hpp>
00026
#endif
00027
00028
namespace corelinux
00029 {
00030 DECLARE_CLASS( AbstractCommand );
00031
00038 class AbstractCommand :
public Synchronized
00039 {
00040
00041
public:
00042
00043
00044
00045
00047
00048
AbstractCommand(
void );
00049
00051
00052
AbstractCommand(
AbstractCommandCref );
00053
00055
00056
virtual ~AbstractCommand(
void );
00057
00058
00059
00060
00061
00063
00064
AbstractCommandRef operator=(
AbstractCommandCref );
00065
00067
00068
bool operator==(
AbstractCommandCref )
const;
00069
00070
00071
00072
00073
00075
00076
virtual void execute(
void ) = 0;
00077
00079
00080
virtual void executeReverse(
void ) = 0;
00081
00082
protected:
00083
00084
private:
00085
00086 };
00087 }
00088
00089
#endif // if !defined(__ABSTRACTCOMMAND_HPP)
00090
00091
00092
00093
00094
00095
00096
00097
00098