00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef DCONFIG_H
00016 #define DCONFIG_H
00017
00018 #include "dtoolbase.h"
00019
00020 #include "config_dconfig.h"
00021 #include "configVariableString.h"
00022 #include "configVariableBool.h"
00023 #include "configVariableInt.h"
00024 #include "configVariableDouble.h"
00025 #include "configVariableList.h"
00026 #include "configFlags.h"
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 class EXPCL_DTOOLCONFIG DConfig {
00038 PUBLISHED:
00039 static INLINE bool GetBool(const string &sym, bool def = false);
00040 static INLINE int GetInt(const string &sym, int def = 0);
00041 static INLINE float GetFloat(const string &sym, float def = 0.);
00042 static INLINE double GetDouble(const string &sym, double def = 0.);
00043 static INLINE string GetString(const string &sym, const string &def = "");
00044 };
00045
00046 #include "dconfig.I"
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062 #define ConfigureDecl(name, expcl, exptp)
00063 #define DToolConfigureDecl(name, expcl, exptp)
00064
00065
00066
00067
00068 #define ConfigureDef(name) \
00069 class StaticInitializer_ ## name { \
00070 public: \
00071 StaticInitializer_ ## name(); \
00072 }; \
00073 static StaticInitializer_ ## name name;
00074 #define DToolConfigureDef(name) \
00075 class StaticInitializer_ ## name { \
00076 public: \
00077 StaticInitializer_ ## name(); \
00078 }; \
00079 static StaticInitializer_ ## name name;
00080
00081
00082
00083
00084 #define Configure(name) ConfigureDef(name)
00085 #define DToolConfigure(name) DToolConfigureDef(name)
00086
00087
00088
00089
00090
00091 #define ConfigureFn(name) \
00092 StaticInitializer_ ## name::StaticInitializer_ ## name()
00093 #define DToolConfigureFn(name) \
00094 StaticInitializer_ ## name::StaticInitializer_ ## name()
00095
00096 #endif