Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/new_class_id/src/lib/util/loading/load_param_class_description.h @ 9765

Last change on this file since 9765 was 9765, checked in by bensch, 18 years ago

compiles again

File size: 2.3 KB
RevLine 
[4592]1/*
[4250]2   orxonox - the future of 3D-vertical-scrollers
[4233]3
[4250]4   Copyright (C) 2004 orx
5
6   This program is free software; you can redistribute it and/or modify
7   it under the terms of the GNU General Public License as published by
8   the Free Software Foundation; either version 2, or (at your option)
9   any later version.
10
11   ### File Specific:
12   main-programmer: Benjamin Grauer
13   co-programmer: ...
14*/
15
[4592]16/*!
[9765]17 * @file load_param_class_description.h
[5129]18 * A Class and macro-functions, that makes our lives easy to load-in parameters
19 */
[4250]20
[9765]21#ifndef _LOAD_PARAM_CLASS_DESCRIPTION_H
22#define _LOAD_PARAM_CLASS_DESCRIPTION_H
[4233]23
[9765]24#include "load_param_description.h"
25#include <set>
[5129]26
[4251]27// Forward Declaration //
[5556]28class MultiType;
[4251]29
[9765]30//! A class for descriptions of a loadable module
31class LoadParamClassDescription
[5332]32{
[7221]33public:
[9765]34  LoadParamClassDescription(const std::string& className);
35  ~LoadParamClassDescription();
[5332]36
[9765]37  bool operator==(const std::string& className) const { return this->className == className; };
38  bool operator==(const LoadParamClassDescription& classDescr) const { return this->className == classDescr.className; };
39  bool operator<(const LoadParamClassDescription& classDescr) const { return this->className < classDescr.className; }
[5332]40
[9765]41  static LoadParamClassDescription* addClass(const std::string& className);
[7221]42  LoadParamDescription* addParam(const std::string& paramName);
[5332]43
44  static void deleteAllDescriptions();
45
[7221]46  static void printAll(const std::string& fileName = "");
47  static std::list<std::string> searchClassWithShort(const std::string& classNameBegin);
48  //  static const LoadParamDescription* getClass(const std::string& className);
[5332]49
[7221]50private:
[9765]51  typedef std::set<LoadParamClassDescription>  ClassDescriptionSet;
52  typedef std::set<LoadParamDescription>       ParamDescriptionSet;
53
[9764]54  static bool                                  parametersDescription;  //!< if parameter-description should be enabled.
[9765]55  static ClassDescriptionSet*                  classList;              //!< a list, that stores all the loadable classes. (after one instance has been loaded)
[9764]56  std::string                                  className;              //!< name of the class
[5556]57
[9765]58  ParamDescriptionSet                          parameters;              //!< List of parameters this class knows.
[5332]59};
60
[9765]61#endif /* _LOAD_PARAM_CLASS_DESCRIPTION_H */
Note: See TracBrowser for help on using the repository browser.