Changeset 5111 in orxonox.OLD for trunk/src/lib/lang
- Timestamp:
- Aug 23, 2005, 11:13:56 PM (19 years ago)
- Location:
- trunk/src/lib/lang
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/lib/lang/base_object.cc
r5102 r5111 52 52 // delete []this->className; 53 53 if (this->objectName) 54 delete []this->objectName;}54 delete []this->objectName;} 55 55 56 56 /** … … 84 84 { 85 85 if (this->objectName) 86 delete []this->objectName;86 delete []this->objectName; 87 87 if (objectName) 88 88 { -
trunk/src/lib/lang/base_object.h
r5102 r5111 27 27 28 28 void setName (const char* newName); 29 /** returns the Name of this Object */29 /** \brief returns the Name of this Object */ 30 30 inline const char* getName ()const { return this->objectName; }; 31 31 -
trunk/src/lib/lang/class_list.cc
r5110 r5111 48 48 { 49 49 delete this->objectList; 50 if(ClassList::classList != NULL)51 {52 delete ClassList::classList;53 ClassList::classList = NULL;54 }55 50 --ClassList::classCount; 56 51 } … … 61 56 //! the Count of classes 62 57 unsigned int ClassList::classCount = 0; 63 64 //! a List of all strings of all classes, that have registered so far.65 tList<const char>* ClassList::classList = NULL;66 58 67 59 /** … … 117 109 } 118 110 119 /** 120 * grabs the names of all Classes, and injects it into a List of const chars 121 * @return the generated List 122 * 123 * This function first looks, if the List has been changed (by the ListSize) 124 * befor it changes anything. 125 */ 126 const tList<const char>* ClassList::getClassList() 127 { 128 if (unlikely(ClassList::classList != NULL && ClassList::classList->getSize() != ClassList::classCount)) 129 { 130 delete ClassList::classList; 131 ClassList::classList = NULL; 132 } 133 if (unlikely(ClassList::classList == NULL)) 134 ClassList::classList = new tList<const char>; 135 136 if(likely(ClassList::first != NULL)) 111 tList<BaseObject>* ClassList::getList(long classID) 112 { 113 if(unlikely(ClassList::first == NULL)) 114 return NULL; 115 else 137 116 { 138 117 ClassList* tmpCL = ClassList::first; 139 118 while (likely(tmpCL != NULL)) 140 119 { 141 ClassList::classList->add(tmpCL->className);142 tmpCL = tmpCL->next;143 }144 }145 return ClassList::classList;146 }147 148 /**149 * searches for classID and returns the list of Entities150 * @param classID the ID of the class to get the list from151 * @return the List accessed by classID, or NULL if not found152 */153 tList<BaseObject>* ClassList::getList(long classID)154 {155 if(unlikely(ClassList::first == NULL))156 return NULL;157 else158 {159 ClassList* tmpCL = ClassList::first;160 while (likely(tmpCL != NULL))161 {162 120 if (unlikely(tmpCL->classID == classID)) 163 return tmpCL->objectList;164 tmpCL = tmpCL->next;165 }166 }167 return NULL;168 }169 170 /**171 * searches for className and returns the list of Entities172 * @param className the name of the class to get the list from173 * @return the List accessed by classID, or NULL if not found174 */tList<BaseObject>* ClassList::getList(const char* className)175 {176 if(unlikely(ClassList::first == NULL))177 return NULL;178 else179 {180 ClassList* tmpCL = ClassList::first;181 while (likely(tmpCL != NULL))182 {183 if (unlikely(!strcmp(tmpCL->className, className)))184 121 return tmpCL->objectList; 185 122 tmpCL = tmpCL->next; … … 208 145 { 209 146 tIterator<BaseObject>* iterator = tmp->objectList->getIterator(); 210 BaseObject* enumBO = iterator-> firstElement();147 BaseObject* enumBO = iterator->nextElement(); 211 148 const char* tmpName; 212 149 while (enumBO != NULL) … … 249 186 { 250 187 tIterator<BaseObject>* iterator = tmp->objectList->getIterator(); 251 BaseObject* enumBO = iterator-> firstElement();188 BaseObject* enumBO = iterator->nextElement(); 252 189 while (enumBO != NULL) 253 190 { … … 268 205 } 269 206 207 270 208 /** 271 209 * prints out a string of all the types this Object matches … … 284 222 } 285 223 } 286 287 /**288 * converts a ClassID into a string289 * @param classID the ClassID to search for290 * @return a String containing the name of the Class, NULL if the Class was not found291 */292 const char* ClassList::IDToString(ClassID classID)293 {294 if(likely(ClassList::first != NULL))295 {296 ClassList* tmpCL = ClassList::first;297 while (likely(tmpCL != NULL))298 {299 if (tmpCL->classID == classID)300 return tmpCL->className;301 tmpCL = tmpCL->next;302 }303 }304 return NULL;305 }306 307 /**308 * converts a String into a ClassID309 * @param className the name of the class to search for310 * @return the ClassID. CL_NULL, if the class was not found.311 */312 long ClassList::StringToID(const char* className)313 {314 if(likely(ClassList::first != NULL))315 {316 ClassList* tmpCL = ClassList::first;317 while (likely(tmpCL != NULL))318 {319 if (!strcasecmp(tmpCL->className, className))320 return tmpCL->classID;321 tmpCL = tmpCL->next;322 }323 }324 return CL_NULL;325 }326 327 328 224 329 225 /** … … 362 258 PRINT(0)("| Listing Instances:\n"); 363 259 tIterator<BaseObject>* iterator = tmp->objectList->getIterator(); 364 BaseObject* enumBO = iterator-> firstElement();260 BaseObject* enumBO = iterator->nextElement(); 365 261 while (enumBO) 366 262 { -
trunk/src/lib/lang/class_list.h
r5105 r5111 35 35 36 36 // STATIC FUNCTIONS 37 static void 38 static void 37 static void addToClassList(BaseObject* objectPointer, const long& classID, const char* className); 38 static void removeFromClassList(BaseObject* objectPointer); 39 39 40 static tList<BaseObject>* getList(long classID = CL_NULL); 41 static tList<BaseObject>* getList(const char* className); 42 static const tList<const char>* getClassList(); 43 static BaseObject* getObject(const char* name, long classID = CL_NULL); 44 static bool exists(const BaseObject* object, long classID = CL_NULL); 40 static tList<BaseObject>* getList(long classID = CL_NULL); 41 static BaseObject* getObject(const char* name, long classID = CL_NULL); 42 static bool exists(const BaseObject* object, long classID = CL_NULL); 45 43 46 static void whatIs(const BaseObject* object); 47 48 static const char* IDToString(ClassID classID = CL_NULL); 49 static long StringToID(const char* className); 50 static void debug(unsigned int debugLevel = 0, long classID = CL_NULL); 51 44 static void whatIs(const BaseObject* object); 45 static void debug(unsigned int debugLevel = 0, long classID = CL_NULL); 52 46 53 47 private: 54 tList<BaseObject>* 48 tList<BaseObject>* objectList; //!< A list of Objects belonging to this Class 55 49 56 long 57 const char* 50 long classID; //!< ClassID stored in this ClassList \see ClassID 51 const char* className; //!< Name of the Class Stored here 58 52 59 ClassList* 53 ClassList* next; //!< Pointer to the next class in the List 60 54 61 55 // STATIC MEMBERS 62 static ClassList* first; //!< The first Class in the List 63 static tList<const char>* classList; //!< a List of all Names of all classes, that have registered so far. 64 static unsigned int classCount; //!< The Count of classes that have been registered (should match the lower description) 56 static ClassList* first; //!< The first Class in the List 57 static unsigned int classCount; //!< The Count of classes that have been registered (should match the lower description) 65 58 }; 66 59
Note: See TracChangeset
for help on using the changeset viewer.