tizen 2.3.1 release
[framework/web/wearable/wrt-plugins-tizen.git] / src / Systeminfo / SystemInfoDisplay.h
1 //
2 // Tizen Web Device API
3 // Copyright (c) 2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0
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 #ifndef __TIZEN_SYSTEMINFO_SYSTEMINFO_DISPLAY_H__
19 #define __TIZEN_SYSTEMINFO_SYSTEMINFO_DISPLAY_H__
20
21 #include <memory>
22
23 #include "SystemInfoProperty.h"
24
25 namespace DeviceAPI {
26 namespace SystemInfo {
27
28 class SystemInfoDisplay;
29 typedef std::shared_ptr<SystemInfoDisplay> SystemInfoDisplayPtr;
30
31 class SystemInfoDisplay : public SystemInfoProperty {
32 public:
33     SystemInfoDisplay();
34     virtual ~SystemInfoDisplay();
35
36     unsigned long getResolutionWidth() const;
37     unsigned long getResolutionHeight() const;
38     unsigned long getDotsPerInchWidth() const;
39     unsigned long getDotsPerInchHeight() const;
40     double getPhysicalWidth() const;
41     double getPhysicalHeight() const;
42     double getBrightness() const;
43
44 private:
45     void fetchResolution();
46     void fetchDotsPerInch();
47     void fetchPhysicalWidth();
48     void fetchPhysicalHeight();
49     double fetchBrightness();
50
51     unsigned long m_resolution_width;
52     unsigned long m_resolution_height;
53     unsigned long m_dots_per_inch_width;
54     unsigned long m_dots_per_inch_height;
55     double m_physical_width;
56     double m_physical_height;
57     double m_brightness;
58 };
59
60 } // SystemInfo
61 } // DeviceAPI
62
63 #endif //__TIZEN_SYSTEMINFO_SYSTEMINFO_DISPLAY_H__