00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #pragma once
00021
00022 #include "SavableHeaders.h"
00023 #include "SavableTypes.h"
00024
00025 namespace mud
00026 {
00027 class CommandManager;
00028
00029 class Command : public Savable
00030 {
00031 public:
00032
00033
00034
00035 const std::string& getName() const;
00036 const std::string& getHelp() const;
00037 value_type getGrantGroup() const;
00038 bool canHighForce() const;
00039 bool canForce() const;
00040 bool canLowForce() const;
00041
00042 bool getGrant(value_type accountid);
00043 bool getDefaultGrant();
00044
00045 bool getLog(value_type accountid);
00046 bool getDefaultLog();
00047
00048
00049
00050
00051 void setName(const std::string& name);
00052 void setHelp(const std::string& name);
00053 void setGrantGroup(value_type grantgroup);
00054 void setHighForce(bool highforce);
00055 void setForce(bool force);
00056 void setLowForce(bool lowforce);
00057
00058
00059
00060
00061 SavableManagerPtr getManager() const;
00062 TableImplPtr getTable() const;
00063
00064
00065
00066
00067 void Delete();
00068 void Save();
00069 void Discard();
00070 bool Exists();
00071
00072 private:
00073 SavableManagerPtr m_command;
00074
00075 Command(SavableManagerPtr Command);
00076 Command(const Command& rhs);
00077 Command operator=(const Command& rhs);
00078 ~Command(void);
00079
00080 friend class CommandManager;
00081 friend SmartPtrDelete(mud::Command);
00082 };
00083 }