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
virtual ~PropertiesBase()
void copy_args(const char **argv)
virtual std::string check_args()
This class provides access to global properties.
const std::vector< std::string > & getPositionalArgs() const
std::string load_all(const char *cfgFilename, const std::string &env_pfx, int argc, const char **argv)
virtual void setJVMClassPath(const std::string &jvmClasspath)
Set global JVM classpath property.
std::vector< std::string > thePositionalArgs
virtual void getJVMClassPath(std::string &jvmClasspath)
Get global JVM classpath property.
void init_val(const char *str, T &val, unsigned delta=0)
virtual ~PropertiesGlobal()
std::string load_env(const std::string &env_pfx)