diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/file.cc | 4 | ||||
| -rw-r--r-- | lib/info.cc | 10 | ||||
| -rw-r--r-- | lib/info.h | 6 | ||||
| -rw-r--r-- | lib/miav_config.cc | 21 | ||||
| -rw-r--r-- | lib/miav_config.h | 10 | 
5 files changed, 39 insertions, 12 deletions
| diff --git a/lib/file.cc b/lib/file.cc index 3a59334..6bd8438 100644 --- a/lib/file.cc +++ b/lib/file.cc @@ -81,8 +81,8 @@ File::~File()      info->info("[%s]", filelist[cnt].c_str());    } -  std::string *trash = config->readString("server_trash"); -  std::string *later = config->readString("server_later"); +  std::string *trash = MIaV::config->readString("server_trash"); +  std::string *later = MIaV::config->readString("server_later");    switch(savestate) {    case NO_CHANGE: diff --git a/lib/info.cc b/lib/info.cc index 701a705..a7b5f3e 100644 --- a/lib/info.cc +++ b/lib/info.cc @@ -66,3 +66,13 @@ void Info::log(char *fmt, ...)    // End of safezone    pthread_mutex_unlock(&mutex);  } + + +// For the global info object +void MIaV::initInfo(Info* i) +{ +  info = i; +} + +Info *MIaV::info = NULL; + @@ -58,4 +58,10 @@ protected:    string log_filename;  }; +// For the global info object +namespace MIaV { +  void initInfo(Info* info); +  extern Info* info; +}; +  #endif/*__MIAV_INFO_H__*/ diff --git a/lib/miav_config.cc b/lib/miav_config.cc index adfa5c5..81436cf 100644 --- a/lib/miav_config.cc +++ b/lib/miav_config.cc @@ -26,12 +26,10 @@   */  #include <config.h>  #include "miav_config.h" +#include "info.h" -MiavConfig *config; - -MiavConfig::MiavConfig(char *file, Info *i) +MiavConfig::MiavConfig(char *file)  { -  info = i;    configs = NULL;    filename = string(file); @@ -40,7 +38,7 @@ MiavConfig::MiavConfig(char *file, Info *i)    FILE* fp = fopen(file, "r");    if(!fp) { -    if(info) info->error("Error reading configuration file %s\n", file); +    if(MIaV::info) MIaV::info->error("Error reading configuration file %s\n", file);      else fprintf(stderr, "Error reading configuration file %s\n", file);      return;    } @@ -76,7 +74,7 @@ MiavConfig::~MiavConfig()   */  void MiavConfig::parseError(char* msg, _cfg* cfg)  { -  if(info) info->error("Error parsing file %s at line %d:\n\t%s\n\t%s\n",  +  if(MIaV::info) MIaV::info->error("Error parsing file %s at line %d:\n\t%s\n\t%s\n",                          filename.c_str(),                          cfg->line,                         cfg->orig, @@ -462,12 +460,21 @@ _cfg *MiavConfig::findNode(char* node)      if(!strcmp(node, cfg->name->c_str())) return cfg;      cfg = cfg->next;    } -  if(info) info->error("Missing line in configuration file: \"%s\"!\n", node); +  if(MIaV::info) MIaV::info->error("Missing line in configuration file: \"%s\"!\n", node);    else fprintf(stderr, "Missing line in configuration file: \"%s\"!\n", node);    return NULL;  } +// For the global config object. +void MIaV::initConfig(MiavConfig *c) +{ +  config = c; +} + +MiavConfig *MIaV::config = NULL; + +  #ifdef __TEST_MIAV_CONFIG  int main(int argc, char *argv[]) { diff --git a/lib/miav_config.h b/lib/miav_config.h index a8658f1..c97802d 100644 --- a/lib/miav_config.h +++ b/lib/miav_config.h @@ -64,7 +64,7 @@ typedef struct __cfg {  class MiavConfig {  public: -  MiavConfig(char *file, Info *info = NULL); +  MiavConfig(char *file);    ~MiavConfig();    int readInt(char *node); @@ -73,7 +73,6 @@ public:    float readFloat(char *node);  protected: -  Info *info;    string filename;    _cfg *createSemantics(_cfg *cfg); @@ -93,6 +92,11 @@ protected:    _cfg *configs;  }; -extern MiavConfig *config; + +// For the global config object +namespace MIaV { +  void initConfig(MiavConfig *config); +  extern MiavConfig *config; +};  #endif/*__MIAV_MIAV_CONFIG_H__*/ | 
