Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
May 22, 2005, 1:43:16 AM (19 years ago)
Author:
bensch
Message:

orxonox/branches/levelLoader: capabilities for documentation are close by

File:
1 edited

Legend:

Unmodified
Added
Removed
  • orxonox/branches/levelLoader/src/util/loading/load_param.h

    r4253 r4254  
    6565#define LoadParam1(type1) \
    6666 LoadParam(const TiXmlElement* root, const char* paramName, T* pt2Object, void(T::*function)(type1##_TYPE)) \
    67   : BaseLoadParam(pt2Object, type1##_NAME) \
     67  : BaseLoadParam(pt2Object, paramName, 1, type1##_NAME) \
    6868    { \
    6969      const char* loadString = grabParameter(root, paramName); \
     
    7878#define LoadParam2(type1, type2) \
    7979 LoadParam(const TiXmlElement* root, const char* paramName, T* pt2Object, void(T::*function)(type1##_TYPE, type2##_TYPE)) \
    80   : BaseLoadParam(pt2Object, type1##_NAME, type2##_NAME) \
     80  : BaseLoadParam(pt2Object, paramName, 2, type1##_NAME, type2##_NAME) \
    8181    { \
    8282      const char* loadString = grabParameter(root, paramName); \
     
    9898#define LoadParam3(type1, type2, type3) \
    9999 LoadParam(const TiXmlElement* root, const char* paramName, T* pt2Object, void(T::*function)(type1##_TYPE, type2##_TYPE, type3##_TYPE))\
    100   : BaseLoadParam(pt2Object, type1##_NAME, type2##_NAME, type3##_NAME) \
     100  : BaseLoadParam(pt2Object, paramName, 3, type1##_NAME, type2##_NAME, type3##_NAME) \
    101101    { \
    102102      const char* loadString = grabParameter(root, paramName); \
     
    118118#define LoadParam4(type1, type2, type3, type4) \
    119119 LoadParam(const TiXmlElement* root, const char* paramName, T* pt2Object, void(T::*function)(type1##_TYPE, type2##_TYPE, type3##_TYPE, type4##_TYPE)) \
    120   : BaseLoadParam(pt2Object, type1##_NAME, type2##_NAME, type3##_NAME, type2##_NAME, type4##_NAME) \
     120  : BaseLoadParam(pt2Object, paramName, 4, type1##_NAME, type2##_NAME, type3##_NAME, type2##_NAME, type4##_NAME) \
    121121    { \
    122122      const char* loadString = grabParameter(root, paramName); \
     
    138138#define LoadParam5(type1, type2, type3, type4, type5) \
    139139 LoadParam(const TiXmlElement* root, const char* paramName, T* pt2Object, void(T::*function)(type1##_TYPE, type2##_TYPE, type3##_TYPE, type4##_TYPE, type5##_TYPE)) \
    140   : BaseLoadParam(pt2Object, type1##_NAME, type2##_NAME, type3##_NAME, type2##_NAME, type4##_NAME, type5##_NAME) \
     140  : BaseLoadParam(pt2Object, paramName, 5, type1##_NAME, type2##_NAME, type3##_NAME, type2##_NAME, type4##_NAME, type5##_NAME) \
    141141    { \
    142142      const char* loadString = grabParameter(root, paramName); \
     
    155155
    156156
    157 
    158 #define CREATE_LOAD_DOC(CLASS_NAME) \
    159   void documentLoadClass##CLASS_NAME(void) \
    160     { \
    161       if(LoadClassDescription::parametersDescription) \
    162         { \
    163           CLASS_NAME docuClass; \
    164           docuClass.loadParams(NULL); \
    165         } \
    166     }
    167 //  documentLoadClass();
    168 
    169 
    170157class LoadParamDescription
    171158{
     159  friend class BaseLoadParam;
     160  friend class LoadClassDescription;
     161 public:
     162  LoadParamDescription(const char* paramName);
     163  ~LoadParamDescription(void);
    172164 private:
     165  char* paramName;
    173166  int paramCount;
    174167  char** types;
    175   const char* className;
    176 
    177168};
    178169
    179170class LoadClassDescription
    180171{
     172  friend class BaseLoadParam;
    181173 public:
    182 
     174  LoadClassDescription(const char* className);
     175  ~LoadClassDescription(void);
     176
     177  static LoadClassDescription* addClass(const char* className);
     178  LoadParamDescription* addParam(const char* paramName);
    183179
    184180  static bool parametersDescription;
    185181 
     182  static tList<LoadClassDescription>* classList;
    186183 private:
     184  char* className;
    187185  tList<LoadParamDescription>* paramList;
    188186};
     
    192190{
    193191 protected:
    194   BaseLoadParam(BaseObject* object, const char* type1 = NULL, const char* type2 = NULL,
    195                 const char* type3 = NULL, const char* type4 = NULL, const char* type5 = NULL);
     192  BaseLoadParam(BaseObject* object, const char* paramName, int paramCount, ...);
     193  void describe(const char* descriptionText);
    196194
    197195 protected:
    198   LoadParamDescription* description;
     196  LoadClassDescription* classDesc;
     197  LoadParamDescription* paramDesc;
    199198};
    200199
Note: See TracChangeset for help on using the changeset viewer.