Tizen 2.1 base
[framework/osp/uifw.git] / src / ui / resource / FUi_ResourceConfigLoader.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Flora License, Version 1.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://floralicense.org/license/
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an AS IS BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17 /**
18  * @file                FUi_ResourceConfigLoader.h
19  * @brief               This is the header file for ConfigLoader class.
20  * @version             3.0
21  *
22  * This header file contains declaration of ConfigLoader class.
23  * The ActionEvent class can call listener's method. So, when event occurred,
24  * application can handle it appropriately.
25  *
26  */
27 #ifndef _FUI_INTERNAL_RESOURCE_CONFIG_LOADER_H_
28 #define _FUI_INTERNAL_RESOURCE_CONFIG_LOADER_H_
29
30 #include <FBaseColLinkedListT.h>
31 #include "FUi_ResourceMapContainer.h"
32
33 namespace Tizen { namespace Base {
34         class String;
35 }}// Tizen::Base
36
37 namespace Tizen { namespace Ui { namespace _Resource
38 {
39 typedef bool (*_Init_Func)(MapContainer& table, const Tizen::Base::String& mode);
40
41 class ConfigLoader
42 {
43 public:
44         void AddInitFunc(_Init_Func func);
45         int GetInitFuncCount(void) const;
46         bool GetInitFunc(int index, _Init_Func& func) const;
47         static ConfigLoader* GetInstance(void);
48 private:
49         ConfigLoader(void);
50         ~ConfigLoader(void);
51         static void CreateInstance(void);
52         ConfigLoader(const ConfigLoader&);
53         ConfigLoader& operator =(const ConfigLoader&);
54         Tizen::Base::Collection::LinkedListT <_Init_Func> __itemList;
55 };
56 }}}// Tizen::Ui::_Resource
57
58 #endif // _FUI_INTERNAL_RESOURCE_CONFIG_LOADER_H_