summaryrefslogtreecommitdiff
path: root/src/unstable/settings.h
blob: 80d30495c3eb501d900d14e4056463f49bf882d4 (plain)
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
#ifndef BU_SETTINGS_H
#define BU_SETTINGS_H

#include "bu/utfstring.h"

namespace Bu
{
    /**
     * Simple access to configuration data.  Provides a consistant, cross
     * platform interface to configuration data using native storage.
     */
    class Settings
    {
    public:
        enum Driver
        {
            DriverNative,
            DriverTaf,
            DriverIni
        };
        Settings( const Bu::UtfString &sCompany, const Bu::UtfString &sProduct,
            Driver driver=DriverNative );
        virtual ~Settings();

        void set( const Bu::UtfString &sKey, const Bu::UtfString &sValue );
        Bu::UtfString get( const Bu::UtfString &sKey, const Bu::UtfString &sValue=Bu::UtfString() );

    private:
        Bu::UtfString sCompany;
        Bu::UtfString sProduct;
        class SettingsDriver *pDriver;
    };
};

#endif