COVISE Core
coConfigGroup.h
Go to the documentation of this file.
1/* This file is part of COVISE.
2
3 You can use it under the terms of the GNU Lesser General Public License
4 version 2.1 or later, see lgpl-2.1.txt.
5
6 * License: LGPL 2+ */
7
8#ifndef COCONFIGGROUP_H
9#define COCONFIGGROUP_H
10
11#include <QHash>
12
15#include <config/coConfigRoot.h>
16#include <util/coTypes.h>
17
18#ifndef CO_gcc3
19EXPORT_TEMPLATE2(template class CONFIGEXPORT QHash<QString, covise::coConfigRoot *>)
20#endif
21
22namespace covise
23{
24
26{
27
28public:
29 coConfigGroup(const QString &groupName);
30 virtual ~coConfigGroup();
31
32 virtual coConfigEntryStringList getScopeList(const QString &section = 0,
33 const QString &variableName = 0) const;
34 virtual coConfigEntryStringList getVariableList(const QString &section = 0) const;
35
36 virtual coConfigEntryString getValue(const QString &variable,
37 const QString &section,
38 const QString &defaultValue) const;
39 virtual coConfigEntryString getValue(const QString &variable,
40 const QString &section) const;
41 virtual coConfigEntryString getValue(const QString &simpleVariable) const;
42
43 virtual const char *getEntry(const char *simpleVariable) const;
44
45 virtual bool isOn(const QString &variable, const QString &section, bool defaultValue) const;
46 virtual bool isOn(const QString &variable, const QString &section) const;
47 virtual bool isOn(const QString &simpleVariable, bool defaultValue) const;
48 virtual bool isOn(const QString &simpleVariable) const;
49
50 virtual void setValue(const QString &variable, const QString &value,
51 const QString &section,
52 const QString &configuration = QString(),
53 const QString &targetHost = QString(), bool move = false);
54
55 virtual void setValue(const QString &simpleVariable, const QString &value);
56
57 virtual bool deleteValue(const QString &variable, const QString &section,
58 const QString &configuration = QString(),
59 const QString &targetHost = QString());
60
61 virtual bool deleteSection(const QString &section,
62 const QString &configuration = QString(),
63 const QString &targetHost = QString());
64
65 virtual QStringList getHostnameList() /*const*/;
66 virtual QString getActiveHost() const;
67 virtual bool setActiveHost(const QString &host);
68
69 virtual QStringList getClusterList() /*const*/;
70 virtual QString getActiveCluster() const;
71 virtual bool setActiveCluster(const QString &master);
72
73 virtual const QString &getGroupName() const;
74
75 virtual void reload();
76 //virtual bool save(const QString & filename, ConfigScope scope = Global) const;
77
78 virtual coConfigRoot *addConfig(const QString &filename, const QString &name, bool create = false);
79 virtual void removeConfig(const QString &name);
80
81 virtual bool save(const QString &filename = QString()) const;
82
83 void setReadOnly(const QString &config, bool ro);
84 void setReadOnly(bool ro);
85
86 bool isReadOnly(const QString &config) const;
87 bool isReadOnly() const;
88
89 virtual coConfigGroup *clone() const;
90 virtual void merge(const coConfigGroup *with);
91 void flatten();
92
93private:
95
97 QStringList hostnames;
99 QStringList masternames;
100 QString groupName;
101
103 //friend QHash<QString, coConfigEntry*> mainWindow::loadFile(const QString & fileName);
104 QHash<QString, coConfigRoot *> configs;
105};
106}
107#endif
#define CONFIGEXPORT
Definition: coExport.h:367
#define EXPORT_TEMPLATE2(x, y)
Definition: coExport.h:34
GLsizei const GLfloat * value
Definition: khronos-glext.h:6760
GLenum GLenum variable
Definition: khronos-glext.h:9990
GLuint const GLchar * name
Definition: khronos-glext.h:6722
GLsizei GLsizei GLchar * source
Definition: khronos-glext.h:6739
list of all chemical elements
Definition: coConfig.h:27
Definition: coConfigEntryString.h:24
Definition: coConfigEntryString.h:54
Definition: coConfigGroup.h:26
QString activeHostname
Definition: coConfigGroup.h:96
QString groupName
Definition: coConfigGroup.h:100
bool readOnly
Definition: coConfigGroup.h:102
QString activeCluster
Definition: coConfigGroup.h:98
QStringList hostnames
Definition: coConfigGroup.h:97
QHash< QString, coConfigRoot * > configs
Definition: coConfigGroup.h:104
QStringList masternames
Definition: coConfigGroup.h:99
Definition: coConfigRoot.h:30