16 #ifndef ZORBA_PROPERTIES_BASE_H
17 #define ZORBA_PROPERTIES_BASE_H
24 #include <zorba/config.h>
40 const char* cfgFilename,
41 const std::string& env_pfx,
47 if (! (result = load_env(env_pfx)).empty())
50 if (! (result = load_file(cfgFilename)).empty())
53 return load_argv(argc, argv);
56 std::string
load_env(
const std::string& env_pfx)
58 return load_env(env_pfx, get_all_options());
61 std::string load_env(
const std::string& env_pfx,
const char** options);
63 std::string load_file(
const char* fname);
65 virtual std::string load_argv(
int argc,
const char **argv) = 0;
67 virtual const char** get_all_options()
const = 0;
73 return thePositionalArgs;
78 for (; *argv != NULL; ++argv)
80 thePositionalArgs.push_back(*argv);
84 template<
class T>
void init_val(
const char* str, T& val,
unsigned delta = 0)
86 std::istringstream
is(str + delta);
101 std::vector<std::string>& val,
142 #endif // ZORBA_PROPERTIES_BASE_H