00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #if !defined(__INCLUDE_LangParam_INCLUDE__)
00022 #define __INCLUDE_LangParam_INCLUDE__
00023
00024 #include <lang/LangString.h>
00025 #include <vector>
00026
00027 #define LANG_PARAM_1(key, param1) \
00028 LangParam::getKey(key, param1)
00029 #define LANG_PARAM_2(key, param1, param2) \
00030 LangParam::getKey(key, param1, param2)
00031 #define LANG_PARAM_3(key, param1, param2, param3) \
00032 LangParam::getKey(key, param1, param2, param3)
00033 #define LANG_PARAM_4(key, param1, param2, param3, param4) \
00034 LangParam::getKey(key, param1, param2, param3, param4)
00035
00036 class LangParam
00037 {
00038 public:
00039 LangParam(const LangStringConverter &value);
00040
00041 LangString getValue();
00042
00043 LangString getParameterizedString();
00044 LangString getParameterizedString(const LangStringConverter ¶m1);
00045 LangString getParameterizedString(const LangStringConverter ¶m1,
00046 const LangStringConverter ¶m2);
00047 LangString getParameterizedString(const LangStringConverter ¶m1,
00048 const LangStringConverter ¶m2, const LangStringConverter ¶m3);
00049 LangString getParameterizedString(const LangStringConverter ¶m1,
00050 const LangStringConverter ¶m2, const LangStringConverter ¶m3, const LangStringConverter ¶m4);
00051
00052 static LangString getKey(const LangStringConverter &value,
00053 const LangStringConverter ¶m1);
00054 static LangString getKey(const LangStringConverter &value,
00055 const LangStringConverter ¶m1,
00056 const LangStringConverter ¶m2);
00057 static LangString getKey(const LangStringConverter &value,
00058 const LangStringConverter ¶m1,
00059 const LangStringConverter ¶m2,
00060 const LangStringConverter ¶m3);
00061 static LangString getKey(const LangStringConverter &value,
00062 const LangStringConverter ¶m1,
00063 const LangStringConverter ¶m2,
00064 const LangStringConverter ¶m3,
00065 const LangStringConverter ¶m4);
00066
00067 private:
00068 std::vector<LangString> parts_;
00069 std::vector<int> positions_;
00070 };
00071
00072 #endif // __INCLUDE_LangParam_INCLUDE__