Feature: 1501518
[csql.git] / include / Config.h
blob9a2cf93ce141d114bfdb60c10cf63ff4e678c45f
1 /***************************************************************************
2 * Copyright (C) 2007 by www.databasecache.com *
3 * Contact: praba_tuty@databasecache.com *
4 * *
5 * This program is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation; either version 2 of the License, or *
8 * (at your option) any later version. *
9 * *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
14 * *
15 ***************************************************************************/
16 #ifndef CONFIG_H
17 #define CONFIG_H
18 #include<os.h>
19 class ConfigValues
21 public:
22 //All the members of the configuration file
23 int pageSize;
24 int maxTrans;
25 int maxProcs;
26 int maxThreads;
27 long maxSysSize;
28 long maxDbSize;
29 int sysDbKey;
30 int userDbKey;
31 char logFile[256];
32 long mapAddr;
33 int mutexSecs;
34 int mutexUSecs;
37 ConfigValues()
39 pageSize = 8192;
40 maxTrans = 20;
41 maxProcs = 20;
42 maxThreads = 10;
43 maxSysSize = 1048576;
44 maxDbSize = 1048576;
45 sysDbKey = 2222;
46 userDbKey = 5555;
47 strcpy(logFile, "/tmp/log.out");
48 mapAddr=400000000;
49 mutexSecs=0;
50 mutexUSecs=10;
54 class Config
56 ConfigValues cVal;
57 int readLine(FILE *fp, char * buffer);
58 int storeKeyVal(char *key, char *val);
59 int validateValues();
61 public:
62 int readAllValues(char *filename);
64 inline int getPageSize() { return cVal.pageSize; }
65 inline int getMaxTrans() { return cVal.maxTrans; }
66 inline int getMaxProcs() { return cVal.maxProcs; }
67 inline int getMaxThreads() { return cVal.maxThreads; }
68 inline long getMaxSysDbSize() { return cVal.maxSysSize; }
69 inline long getMaxDbSize() { return cVal.maxDbSize; }
70 inline int getSysDbKey() { return cVal.sysDbKey; }
71 inline int getUserDbKey() { return cVal.userDbKey; }
72 inline char* getLogFile() { return cVal.logFile; }
73 inline long getMapAddress() { return cVal.mapAddr; }
74 inline int getMutexSecs() { return cVal.mutexSecs; }
75 inline int getMutexUSecs() { return cVal.mutexUSecs; }
79 //Global object
80 static Config config;
83 #endif