318c1693d68431c031af7d653ec5828edbd4e25a
[platform/core/uifw/libscl-ui-nui.git] / scl / modifier_decoration_bin_parser.h
1 /*
2  * Copyright (c) 2012 - 2014 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17
18 #ifndef __BinModifierDecorationParser__H__
19 #define __BinModifierDecorationParser__H__
20 #include <libxml/parser.h>
21 #include "sclres_type.h"
22 #include "iparserinfo_provider.h"
23 #include <vector>
24 #include "string_collector.h"
25 #include "file_storage_impl.h"
26 #include "_auto_metadata.h"
27
28 class BinModifierDecorationParser {
29     public:
30         ~BinModifierDecorationParser();
31         static BinModifierDecorationParser *get_instance();
32     void init(const FileStorage& storage, int, int, IParserInfo_Provider*);
33     PSclModifierDecoration get_modifier_decoration_table();
34     int get_modifier_decoration_id(const char *name);
35     private:
36     BinModifierDecorationParser();
37     void parsing_modifier_decoration_table();
38
39     private:
40         SclModifierDecoration m_modifier_decoration_table[MAX_SCL_MODIFIER_DECORATION_NUM];
41         IParserInfo_Provider *parser_info_provider;
42
43         StringCollector m_string_collector;
44         FileStorage m_storage;
45 };
46
47
48 #endif