wip: config reader
authorPatrik Gornicz <Gornicz.P@gmail.com>
Fri, 22 Aug 2008 17:40:38 +0000 (13:40 -0400)
committerPatrik Gornicz <Gornicz.P@gmail.com>
Fri, 22 Aug 2008 17:40:38 +0000 (13:40 -0400)
configs/test.cfg [new file with mode: 0644]
src/config/config.cpp
src/config/reader.cpp [new file with mode: 0644]
src/config/reader.h [new file with mode: 0644]

diff --git a/configs/test.cfg b/configs/test.cfg
new file mode 100644 (file)
index 0000000..e965047
--- /dev/null
@@ -0,0 +1 @@
+Hello
index 35efe4f..9aa6f86 100644 (file)
@@ -16,6 +16,8 @@
  */
 
 #include "config.h"
+
+#include "reader.h"
 #include "../input/inputManager.h"
 
 /// ***** Private Method Headers *****
@@ -25,6 +27,7 @@
 
 void cfg::init()
 {
+    readConfigs(NULL);
     // TODO read in config files
 }
 void cfg::clean()
diff --git a/src/config/reader.cpp b/src/config/reader.cpp
new file mode 100644 (file)
index 0000000..ce35ab8
--- /dev/null
@@ -0,0 +1,72 @@
+/*
+ *  Copyright (C) 2008 Patrik Gornicz, Gornicz_P (at) hotmail (dot) com.
+ *
+ *  This program is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation, either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "reader.h"
+#include "../debug.h"
+
+#include <iostream>
+#include <fstream>
+#include <string>
+
+using std::ifstream;
+using std::string;
+
+char* configDir = "../configs/";
+
+/// ***** Private Method Headers *****
+
+void processLine(const string& str, keyMap* map);
+
+/// ***** Private Variables *****
+
+/// ***** Public Methods *****
+
+void readConfigs(keyMap* map)
+{
+    char fileName[64];
+
+    strcpy(fileName, configDir);
+    strcat(fileName, "test.cfg");
+
+    ifstream file(fileName);
+
+    if( !file.is_open() )
+    {
+        cerr << "Unable to open file " << fileName << "." << endl;
+        exit(1);
+    }
+
+    while(true)
+    {
+        string line;
+        getline(file, line);
+
+        if(file.eof())
+            break;
+
+        processLine(line, map);
+    }
+
+    file.close();
+}
+
+/// ***** Private Methods *****
+
+void processLine(const string& str, keyMap* map)
+{
+    cout << str << endl;
+}
diff --git a/src/config/reader.h b/src/config/reader.h
new file mode 100644 (file)
index 0000000..672b6da
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+ *  Copyright (C) 2008 Patrik Gornicz, Gornicz_P (at) hotmail (dot) com.
+ *
+ *  This program is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation, either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+#ifndef READER_H
+#define READER_H
+
+#include <SDL/SDL.h>
+#include <map>
+
+typedef std::map<int,Uint8> keyMap;
+
+/// ***** Header Methods *****
+
+void readConfigs(keyMap*);
+
+#endif // READER_H