Changeset 5113 in orxonox.OLD for trunk/src/lib/lang
- Timestamp:
- Aug 23, 2005, 11:18:39 PM (19 years ago)
- Location:
- trunk/src/lib/lang
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/lib/lang/base_object.cc
r5111 r5113 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
r5111 r5113 27 27 28 28 void setName (const char* newName); 29 /** \briefreturns the Name of this Object */29 /** 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
r5111 r5113 48 48 { 49 49 delete this->objectList; 50 if(ClassList::classList != NULL) 51 { 52 delete ClassList::classList; 53 ClassList::classList = NULL; 54 } 50 55 --ClassList::classCount; 51 56 } … … 56 61 //! the Count of classes 57 62 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; 58 66 59 67 /** … … 109 117 } 110 118 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)) 137 { 138 ClassList* tmpCL = ClassList::first; 139 while (likely(tmpCL != NULL)) 140 { 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 Entities 150 * @param classID the ID of the class to get the list from 151 * @return the List accessed by classID, or NULL if not found 152 */ 111 153 tList<BaseObject>* ClassList::getList(long classID) 112 154 { … … 119 161 { 120 162 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 Entities 172 * @param className the name of the class to get the list from 173 * @return the List accessed by classID, or NULL if not found 174 */tList<BaseObject>* ClassList::getList(const char* className) 175 { 176 if(unlikely(ClassList::first == NULL)) 177 return NULL; 178 else 179 { 180 ClassList* tmpCL = ClassList::first; 181 while (likely(tmpCL != NULL)) 182 { 183 if (unlikely(!strcmp(tmpCL->className, className))) 121 184 return tmpCL->objectList; 122 185 tmpCL = tmpCL->next; … … 205 268 } 206 269 207 208 270 /** 209 271 * prints out a string of all the types this Object matches … … 222 284 } 223 285 } 286 287 /** 288 * converts a ClassID into a string 289 * @param classID the ClassID to search for 290 * @return a String containing the name of the Class, NULL if the Class was not found 291 */ 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 ClassID 309 * @param className the name of the class to search for 310 * @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 224 328 225 329 /** -
trunk/src/lib/lang/class_list.h
r5111 r5113 35 35 36 36 // STATIC FUNCTIONS 37 static void addToClassList(BaseObject* objectPointer, const long& classID, const char* className);38 static void removeFromClassList(BaseObject* objectPointer);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 BaseObject* getObject(const char* name, long classID = CL_NULL); 42 static bool exists(const BaseObject* object, long classID = CL_NULL); 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); 43 45 44 static void whatIs(const BaseObject* object); 45 static void debug(unsigned int debugLevel = 0, long classID = CL_NULL); 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 46 52 47 53 private: 48 tList<BaseObject>* objectList; //!< A list of Objects belonging to this Class54 tList<BaseObject>* objectList; //!< A list of Objects belonging to this Class 49 55 50 long classID; //!< ClassID stored in this ClassList \see ClassID51 const char* className; //!< Name of the Class Stored here56 long classID; //!< ClassID stored in this ClassList \see ClassID 57 const char* className; //!< Name of the Class Stored here 52 58 53 ClassList* next; //!< Pointer to the next class in the List59 ClassList* next; //!< Pointer to the next class in the List 54 60 55 61 // STATIC MEMBERS 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) 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) 58 65 }; 59 66
Note: See TracChangeset
for help on using the changeset viewer.