summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/file.cc4
-rw-r--r--lib/info.cc10
-rw-r--r--lib/info.h6
-rw-r--r--lib/miav_config.cc21
-rw-r--r--lib/miav_config.h10
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;
+
diff --git a/lib/info.h b/lib/info.h
index d533051..d215577 100644
--- a/lib/info.h
+++ b/lib/info.h
@@ -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__*/