summaryrefslogtreecommitdiffstats
path: root/src/config.h
blob: 20f67d30f6890a156302302ff2fc836c5d0c3d37 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#ifndef CONIG_H
#define CONIG_H

#include <QString>
#include <QList>
#include <QStringList>
#include <QMap>
#include <QSettings>

#define CONFIG_PATH "/home/manuel/beamer.conf"

class Config
{
    Config();
    ~Config();

    static Config * Instance;

    QString             settingsPath;
    QString             display;
    QString             interface;
    QStringList         ipSpecificXConf;
    QMap<QString, QStringList>   modeLines;

    QString getIPV4ofInterface(QString) const;

public:

    void                                loadSettings(QString);

    // Getters
    inline const QString&                       getSettingsPath()   { return settingsPath; }
    inline const QString&                       getDisplay()        { return display; }
    inline const QString&                       getInterface()      { return interface; }
    inline const QStringList&                   getIpSpecificXConf(){ return ipSpecificXConf; }
    inline const QMap<QString, QStringList>&    getModeLines()      { return modeLines; }

    // Singleton //
    inline static Config * inst() {
        if (Instance == NULL) Instance = new Config();
        return Instance;
    }
};

#endif // CONIG_H