00001 // This file may be redistributed and modified only under the terms of 00002 // the GNU Lesser General Public License (See COPYING for details). 00003 // Copyright 2000-2001 Stefanus Du Toit and Aloril. 00004 // Copyright 2001-2005 Alistair Riddoch. 00005 // Automatically generated using gen_cpp.py. 00006 00007 #ifndef ATLAS_OBJECTS_ENTITY_ANONYMOUS_H 00008 #define ATLAS_OBJECTS_ENTITY_ANONYMOUS_H 00009 00010 #include <Atlas/Objects/RootEntity.h> 00011 #include <Atlas/Objects/SmartPtr.h> 00012 00013 namespace Atlas { namespace Objects { namespace Entity { 00014 00021 class AnonymousData; 00022 typedef SmartPtr<AnonymousData> Anonymous; 00023 00024 static const int ANONYMOUS_NO = 40; 00025 00028 00030 class AnonymousData : public RootEntityData 00031 { 00032 protected: 00034 AnonymousData(AnonymousData *defaults = NULL) : 00035 RootEntityData((RootEntityData*)defaults) 00036 { 00037 m_class_no = ANONYMOUS_NO; 00038 } 00040 virtual ~AnonymousData(); 00041 00042 public: 00044 void setType(const std::string &, int); 00045 00047 virtual AnonymousData * copy() const; 00048 00050 virtual bool instanceOf(int classNo) const; 00051 00052 00053 virtual void iterate(int& current_class, std::string& attr) const 00054 {if(current_class == ANONYMOUS_NO) current_class = -1; RootEntityData::iterate(current_class, attr);} 00055 00056 //freelist related things 00057 public: 00058 static AnonymousData *alloc(); 00059 virtual void free(); 00060 00065 virtual AnonymousData *getDefaultObject(); 00066 00071 static AnonymousData *getDefaultObjectInstance(); 00072 private: 00073 static AnonymousData *defaults_AnonymousData; 00074 static AnonymousData *begin_AnonymousData; 00075 }; 00076 00077 } } } // namespace Atlas::Objects::Entity 00078 00079 #endif // ATLAS_OBJECTS_ENTITY_ANONYMOUS_H
Copyright 2000-2004 the respective authors.
This document can be licensed under the terms of the GNU Free Documentation License or the GNU General Public License and may be freely distributed under the terms given by one of these licenses.