Tizen 2.1 base
[framework/osp/uifw.git] / src / ui / resource / FUi_ResourceMapContainer.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_ResourceMapContainer.h
19  * @brief               This is the header file for MapContainer class.
20  * @version             3.0
21  *
22  * This header file contains declaration of MapContainer 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_MAP_CONTAINER_H_
28 #define _FUI_INTERNAL_RESOURCE_MAP_CONTAINER_H_
29
30 #include "FUi_ResourceMap.h"
31
32 namespace Tizen { namespace Base
33 {
34 class Integer;
35 }}// Tizen::Base
36
37 namespace Tizen { namespace Base { namespace Collection
38 {
39 template<class Type> class IHashCodeProviderT;
40 template<class Type> class IComparerT;
41 }}}//Tizen::Base::Collection
42
43 namespace Tizen { namespace Graphics
44 {
45 class Color;
46 class Dimension;
47 }}//Tizen::Graphics
48
49 namespace Tizen { namespace Ui { namespace _Resource
50 {
51 typedef Map<Tizen::Graphics::Color*> ResourceColorMap;
52 typedef Map<Tizen::Graphics::Dimension*> ResourceDimensionMap;
53 typedef Map<Tizen::Base::String*> ResourceImageMap;
54 typedef Map<Tizen::Base::Integer*> ResourceShapeMap;
55
56 class MapContainer
57 {
58 public:
59         MapContainer(void);
60         ~MapContainer(void);
61         void CreateMap(_ResourceType type);
62         void InitializeMap(_ResourceType type);
63         ResourceColorMap* GetColorMap(void) const;
64         ResourceDimensionMap* GetDimensionMap(void) const;
65         ResourceShapeMap* GetFixedValueMap(void) const;
66         ResourceImageMap* GetImageMap(void) const;
67         ResourceShapeMap* GetShapeMap(void) const;
68         void SetVersion(const Tizen::Base::String& information);
69         Tizen::Base::String GetVersion(void);
70         void SetThemeName(const Tizen::Base::String& ThemeName);
71         Tizen::Base::String GetThemeName(void);
72         void SetResolution(const Tizen::Base::String& resolution);
73         Tizen::Base::String GetResolution(void);
74         void SetResolutionForImage(const Tizen::Base::String& resolution);
75         Tizen::Base::String GetResolutionForImage(void);
76
77 private:
78         MapContainer(const MapContainer&);
79         MapContainer& operator =(const MapContainer&);
80
81 private:
82         ResourceColorMap* __pColorMap;
83         ResourceDimensionMap* __pDimensionMap;
84         ResourceShapeMap* __pFixedValueMap;
85         ResourceImageMap* __pImageMap;
86         ResourceShapeMap* __pShapeMap;
87
88         Tizen::Base::Collection::IHashCodeProviderT<Tizen::Base::String>* __pProvider;
89         Tizen::Base::Collection::IComparerT<Tizen::Base::String>* __pComparer;
90
91         Tizen::Base::String __version;
92         Tizen::Base::String __themeName;
93         Tizen::Base::String __resolution;
94         Tizen::Base::String __resolutionForImage;
95 };
96 }}}
97
98 #endif // _FUI_INTERNAL_RESOURCE_MAP_CONTAINER_H_