00001
00002
00003
00004
00006
00007
00008
00009
00010
00011
00012
00013
00014
00016
00017 #ifndef __IObject_h_INCLUDED__
00018 #define __IObject_h_INCLUDED__
00019
00020 #include <string>
00021
00022 namespace mortic
00023 {
00024 class IRoot;
00025
00027
00033 class IObject
00034 {
00035 public:
00037
00041 IObject();
00042
00044
00050 IObject(IRoot* root, std::string name);
00051
00053 virtual ~IObject();
00054
00056
00064 std::string getName();
00065
00067
00072 unsigned int getID();
00073
00075
00080 void setName(std::string name);
00081
00083
00092 void grab();
00093
00095
00098 void drop();
00099
00101
00106 unsigned int getInstances();
00107 private:
00108 IRoot* _root;
00109 std::string _name;
00110 unsigned int _id;
00111 unsigned int instances;
00112 };
00113
00114 };
00115
00116 #include "IRoot.h"
00117
00118 #endif // __IObject_h_INCLUDED__