summaryrefslogtreecommitdiff
path: root/inc/proptokenizer.hxx
blob: 9d2a9ee75d568a141f6f6acde623207ebfa1499a (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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#ifndef __PROPTOKENIZER_HXX__
#define __PROPTOKENIZER_HXX__

#include <cppuhelper/implementationentry.hxx>

#include "sharedstring.hxx"

namespace dpsource {

class PropertyTokenizer
{
public:

    enum NameToken {

        // DataPilot dimension properties
        Filter = 0,
        Function,
        HasHiddenMember,
        IsDataLayoutDimension,
        Orientation,
        Original,
        Position,
        UsedHierarchy,

        // DataPilot member properties
        IsVisible,
        ShowDetails,

        Unknown
    };

    PropertyTokenizer();
    ~PropertyTokenizer();

    NameToken getNameToken(const ::rtl::OUString& rName);
    ::rtl::OUString getStringFromToken(NameToken eToken) const;

private:
    typedef ::std::hash_map<StrID, NameToken> StrIDTokenMapType;

    SimpleSharedString  maSharedStrings;
    StrIDTokenMapType   maIDTokenMap;

    // DataPilot dimension properties
    StrID   mnFilter;
    StrID   mnFunction;
    StrID   mnHasHiddenMember;
    StrID   mnIsDataLayoutDimension;
    StrID   mnOrientation;
    StrID   mnOriginal;
    StrID   mnPosition;
    StrID   mnUsedHierarchy;

    // DataPilot member properties
    StrID   mnIsVisible;
    StrID   mnShowDetails;
};

}

#endif