diff options
author | deva <deva> | 2006-08-16 23:48:22 +0000 |
---|---|---|
committer | deva <deva> | 2006-08-16 23:48:22 +0000 |
commit | 6c07f9219bed6ccddc9b65ad40414cf0a9f7d633 (patch) | |
tree | 95f5fe5db16808d7b13511a6344bc269692e6e17 /lib/miav_config.h | |
parent | cca64725502c1035ca50675dda6c42dad18f0cbf (diff) |
Finished the Configuration class (Still missing vector<string> though!)
Replaced the old MiavConfig class with the new Configuration class in all the the appropriate places.
Diffstat (limited to 'lib/miav_config.h')
-rw-r--r-- | lib/miav_config.h | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/lib/miav_config.h b/lib/miav_config.h deleted file mode 100644 index c97802d..0000000 --- a/lib/miav_config.h +++ /dev/null @@ -1,102 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/*************************************************************************** - * miav_config.h - * - * Sat Feb 19 14:13:19 CET 2005 - * Copyright 2005 Bent Bisballe - * deva@aasimon.org - ****************************************************************************/ - -/* - * This file is part of MIaV. - * - * MIaV 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 2 of the License, or - * (at your option) any later version. - * - * MIaV 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 MIaV; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - */ -#include "config.h" -#ifndef __MIAV_MIAV_CONFIG_H__ -#define __MIAV_MIAV_CONFIG_H__ - -#include <string> -using namespace std; - -#include "info.h" -// Cyclic include :( -class Info; - -typedef enum { - CONFIG_UNKNOWN, - CONFIG_INT, - CONFIG_BOOL, - CONFIG_FLOAT, - CONFIG_STRING -} ConfigType; - - -typedef struct __cfg { - // For parsing - char* orig; - int line; - char* left; - char* right; - - // For traversal - string *name; - ConfigType type; - int intval; - bool boolval; - float floatval; - string *stringval; - - struct __cfg* next; -} _cfg; - -class MiavConfig { -public: - MiavConfig(char *file); - ~MiavConfig(); - - int readInt(char *node); - bool readBool(char *node); - string *readString(char *node); - float readFloat(char *node); - -protected: - string filename; - - _cfg *createSemantics(_cfg *cfg); - _cfg* readLines(char* raw); - _cfg* parseLines(_cfg *cfg); - _cfg *parse(char* raw); - string emptyString; - - -#if 0 - _cfg *addConfig(_cfg *parent, char* conf); - char *strip(char* conf); -#endif - - void parseError(char* msg, _cfg *cfg); - _cfg *findNode(char* node); - _cfg *configs; -}; - - -// For the global config object -namespace MIaV { - void initConfig(MiavConfig *config); - extern MiavConfig *config; -}; - -#endif/*__MIAV_MIAV_CONFIG_H__*/ |