1 // This file may be redistributed and modified only under the terms of
2 // the GNU Lesser General Public License (See COPYING for details).
3 // Copyright 2000-2001 Stefanus Du Toit and Aloril.
4 // Copyright 2001-2005 Alistair Riddoch.
5 // Automatically generated using gen_cpp.py.
6 
7 #ifndef ATLAS_OBJECTS_ENTITY_ANONYMOUS_H
8 #define ATLAS_OBJECTS_ENTITY_ANONYMOUS_H
9 
10 #include <Atlas/Objects/RootEntity.h>
11 #include <Atlas/Objects/SmartPtr.h>
12 
13 namespace Atlas { namespace Objects { namespace Entity {
14 
15 /** Starting point for entity hierarchy
16 
17 Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
18 
19 */
20 
21 class AnonymousData;
22 typedef SmartPtr<AnonymousData> Anonymous;
23 
24 static const int ANONYMOUS_NO = 40;
25 
26 /// \brief Starting point for entity hierarchy.
27 ///
28 /** Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
29  */
30 class AnonymousData : public RootEntityData
31 {
32 protected:
33     /// Construct a AnonymousData class definition.
34     AnonymousData(AnonymousData *defaults = NULL) :
35         RootEntityData((RootEntityData*)defaults)
36     {
37         m_class_no = ANONYMOUS_NO;
38     }
39     /// Default destructor.
40     virtual ~AnonymousData();
41 
42 public:
43     /// Set the type of this object.
44     void setType(const std::string &, int);
45 
46     /// Copy this object.
47     virtual AnonymousData * copy() const;
48 
49     /// Is this instance of some class?
50     virtual bool instanceOf(int classNo) const;
51 
52 
iterate(int & current_class,std::string & attr)53     virtual void iterate(int& current_class, std::string& attr) const
54         {if(current_class == ANONYMOUS_NO) current_class = -1; RootEntityData::iterate(current_class, attr);}
55 
56     //freelist related things
57 public:
58     static AnonymousData *alloc();
59     virtual void free();
60 
61     /// \brief Get the reference object that contains the default values for
62     /// attributes of instances of the same class as this object.
63     ///
64     /// @return a pointer to the default object.
65     virtual AnonymousData *getDefaultObject();
66 
67     /// \brief Get the reference object that contains the default values for
68     /// attributes of instances of this class.
69     ///
70     /// @return a pointer to the default object.
71     static AnonymousData *getDefaultObjectInstance();
72 private:
73     static AnonymousData *defaults_AnonymousData;
74     static AnonymousData *begin_AnonymousData;
75 };
76 
77 } } } // namespace Atlas::Objects::Entity
78 
79 #endif // ATLAS_OBJECTS_ENTITY_ANONYMOUS_H
80