blip  0.1
DeviceConfiguration.hpp
Go to the documentation of this file.
1 #ifndef __blip_DeviceConfiguration_hpp
2 #define __blip_DeviceConfiguration_hpp
3 
4 #include <blip/Blip.hpp>
6 
7 #include <commonc++/String.h++>
8 
9 struct AConfiguration;
10 
11 namespace blip {
12 
16 
21 
26 
30 
34 
38 
42 
45 
49 
53 
57 
59 enum SDKVersion { SDK_Unknown = -1, SDK_Any = 0,
61  SDK_1_0 = 1,
63  SDK_1_1 = 2,
65  SDK_1_5 = 3,
67  SDK_1_6 = 4,
69  SDK_2_0 = 5,
71  SDK_2_0_1 = 6,
73  SDK_2_1 = 7,
75  SDK_2_2 = 8,
77  SDK_2_3 = 9,
79  SDK_2_3_3 = 10,
81  SDK_3_0 = 11,
83  SDK_3_1 = 12,
85  SDK_3_2 = 13,
87  SDK_4_0 = 14,
89  SDK_4_0_3 = 15,
91  SDK_4_1 = 16,
93  SDK_4_2 = 17,
95  SDK_4_3 = 18,
97  SDK_4_4 = 19,
99  SDK_5_0 = 20,
101  SDK_Newer = 999 };
102 
117 {
118  friend class AssetManager;
119  friend class NativeActivity;
120 
121  public:
122 
125 
128 
131 
134 
136  int32_t getMCC() const;
137 
139  void setMCC(int32_t value);
140 
142  int32_t getMNC() const;
143 
145  void setMNC(int32_t value);
146 
148  ccxx::String getLanguage() const;
149 
151  void setLanguage(const ccxx::String& language);
152 
154  ccxx::String getCountry() const;
155 
157  void setCountry(const ccxx::String& country);
158 
160  inline const DisplayMetrics& getDisplayMetrics() const
161  { return(_metrics); }
162 
165 
168 
170  ScreenType getScreenType() const;
171 
173  void setScreenType(ScreenType value);
174 
176  ScreenSize getScreenSize() const;
177 
179  void setScreenSize(ScreenSize value);
180 
183 
185  void setScreenDensity(ScreenDensity value);
186 
189 
191  void setScreenAspect(ScreenAspect value);
192 
194  int getScreenWidthDP() const;
195 
197  void setScreenWidthDP(int dp);
198 
200  int getScreenHeightDP() const;
201 
203  void setScreenHeightDP(int dp);
204 
206  int getSmallestScreenWidthDP() const;
207 
209  void setSmallestScreenWidthDP(int dp);
210 
213 
215  void setKeyboardType(KeyboardType value);
216 
219 
221  void setNavigationType(NavigationType value);
222 
225 
228 
231 
233  void setKeyboardHidden(KeyboardHidden value);
234 
236  UIMode getUIMode() const;
237 
239  void setUIMode(UIMode value);
240 
242  NightMode getNightMode() const;
243 
245  void setNightMode(NightMode value);
246 
249 
252 
254  SDKVersion getSDKVersion() const;
255 
257  void setSDKVersion(SDKVersion value);
258 
260  bool isBetterThan(const DeviceConfiguration& other) const;
261 
265  bool isValidFor(const DeviceConfiguration& other) const;
266 
267  private:
268 
269  DeviceConfiguration(AConfiguration* config);
270 
271  void init();
272 
273  AConfiguration* _config;
274  DisplayMetrics _metrics;
275  bool _owned;
276 };
277 
278 } // namespace blip
279 
280 #endif // __blip_DeviceConfiguration_hpp
Definition: DeviceConfiguration.hpp:41
Cupcake.
Definition: DeviceConfiguration.hpp:65
Jelly Bean.
Definition: DeviceConfiguration.hpp:97
A utility object with methods for converting between pixel units based on a given screen density...
Definition: DisplayMetrics.hpp:32
Definition: DeviceConfiguration.hpp:36
Definition: DeviceConfiguration.hpp:28
LayoutDirection getLayoutDirection() const
Get the layout direction.
Definition: DeviceConfiguration.cpp:871
int getSmallestScreenWidthDP() const
Get the smallest screen width, in dp units.
Definition: DeviceConfiguration.cpp:483
Definition: DeviceConfiguration.hpp:52
ScreenDensity getScreenDensity() const
Get the screen density category.
Definition: DeviceConfiguration.cpp:351
Definition: DeviceConfiguration.hpp:44
Definition: DeviceConfiguration.hpp:59
An asset manager, which provides access to the application&#39;s raw asset files.
Definition: AssetManager.hpp:34
NavigationType
Navigation controls types.
Definition: DeviceConfiguration.hpp:40
Definition: DeviceConfiguration.hpp:48
Honeycomb.
Definition: DeviceConfiguration.hpp:81
Definition: DeviceConfiguration.hpp:14
Definition: DeviceConfiguration.hpp:51
ScreenOrient
Screen orientations.
Definition: DeviceConfiguration.hpp:18
Eclair.
Definition: DeviceConfiguration.hpp:73
int getScreenWidthDP() const
Get the screen width, in dp units.
Definition: DeviceConfiguration.cpp:451
Definition: DeviceConfiguration.hpp:43
Definition: DeviceConfiguration.hpp:47
void setUIMode(UIMode value)
Set the dock mode.
Definition: DeviceConfiguration.cpp:791
Definition: DeviceConfiguration.hpp:37
void setScreenOrientation(ScreenOrient value)
Set the screen orientation.
Definition: DeviceConfiguration.cpp:197
Eclair.
Definition: DeviceConfiguration.hpp:69
Definition: DeviceConfiguration.hpp:19
DeviceConfiguration()
Construct a new device configuration with default values.
Definition: DeviceConfiguration.cpp:19
1.1
Definition: DeviceConfiguration.hpp:63
void setNightMode(NightMode value)
Set the night mode.
Definition: DeviceConfiguration.cpp:846
Lemon Meringue Pie.
Definition: DeviceConfiguration.hpp:99
Definition: DeviceConfiguration.hpp:15
void setScreenSize(ScreenSize value)
Set the screen size category.
Definition: DeviceConfiguration.cpp:315
Definition: DeviceConfiguration.hpp:59
void setCountry(const ccxx::String &country)
Set the two-character country code.
Definition: DeviceConfiguration.cpp:155
Definition: DeviceConfiguration.hpp:48
void setLayoutDirection(LayoutDirection value)
Set the layout direction.
Definition: DeviceConfiguration.cpp:891
void setSDKVersion(SDKVersion value)
Set the Android SDK version.
Definition: DeviceConfiguration.cpp:966
KeyboardType
Keyboard types.
Definition: DeviceConfiguration.hpp:32
Definition: DeviceConfiguration.hpp:32
Unknown newer version.
Definition: DeviceConfiguration.hpp:101
Definition: DeviceConfiguration.hpp:24
SDKVersion getSDKVersion() const
Get the Android SDK version.
Definition: DeviceConfiguration.cpp:916
Definition: DeviceConfiguration.hpp:41
void setMCC(int32_t value)
Set the ISMI MCC (Mobile Country Code).
Definition: DeviceConfiguration.cpp:93
void setMNC(int32_t value)
Set the IMSI MNC (Mobile Network Code).
Definition: DeviceConfiguration.cpp:109
Definition: DeviceConfiguration.hpp:36
void setScreenAspect(ScreenAspect value)
Set the screen aspect ratio category.
Definition: DeviceConfiguration.cpp:499
1.0
Definition: DeviceConfiguration.hpp:61
Definition: DeviceConfiguration.hpp:55
DeviceConfiguration & operator=(const DeviceConfiguration &other)
Assignment operator.
Definition: DeviceConfiguration.cpp:69
Donut.
Definition: DeviceConfiguration.hpp:67
Definition: DeviceConfiguration.hpp:14
Definition: DeviceConfiguration.hpp:47
Eclair.
Definition: DeviceConfiguration.hpp:71
Ice Cream Sandwich.
Definition: DeviceConfiguration.hpp:87
ScreenOrient getScreenOrientation() const
Get the screen orientation.
Definition: DeviceConfiguration.cpp:171
Gingerbread.
Definition: DeviceConfiguration.hpp:79
int32_t getMCC() const
Get the ISMI MCC (Mobile Country Code).
Definition: DeviceConfiguration.cpp:85
Definition: DeviceConfiguration.hpp:23
Definition: DeviceConfiguration.hpp:24
Ice Cream Sandwich.
Definition: DeviceConfiguration.hpp:89
Definition: DeviceConfiguration.hpp:29
ScreenType
Touchscreen types.
Definition: DeviceConfiguration.hpp:14
void setScreenHeightDP(int dp)
Set the screen height, in dp units.
Definition: DeviceConfiguration.cpp:475
Definition: DeviceConfiguration.hpp:56
A container for device configuration information.
Definition: DeviceConfiguration.hpp:116
ScreenType getScreenType() const
Get the touchscreen type.
Definition: DeviceConfiguration.cpp:229
Definition: DeviceConfiguration.hpp:47
const DisplayMetrics & getDisplayMetrics() const
Get the display metrics.
Definition: DeviceConfiguration.hpp:160
void setKeyboardHidden(KeyboardHidden value)
Set the "hidden" stat eof the keyboard.
Definition: DeviceConfiguration.cpp:727
Definition: DeviceConfiguration.hpp:56
WAV file format details at: https://ccrma.stanford.edu/courses/422/projects/WaveFormat/.
Definition: AccelerometerSensorEvent.cpp:3
Froyo.
Definition: DeviceConfiguration.hpp:75
NavigationHidden
Definition: DeviceConfiguration.hpp:43
Definition: DeviceConfiguration.hpp:41
Definition: DeviceConfiguration.hpp:40
KeyboardHidden getKeyboardHidden() const
Get the "hidden" stat eof the keyboard.
Definition: DeviceConfiguration.cpp:701
ScreenAspect getScreenAspect() const
Get the screen aspect ratio category.
Definition: DeviceConfiguration.cpp:427
Jelly Bean.
Definition: DeviceConfiguration.hpp:93
An abstract base class for all "native" (C++) Android activities.
Definition: NativeActivity.hpp:71
int32_t getMNC() const
Get the IMSI MNC (Mobile Network Code).
Definition: DeviceConfiguration.cpp:101
Definition: DeviceConfiguration.hpp:40
KeyboardHidden
Definition: DeviceConfiguration.hpp:35
Definition: DeviceConfiguration.hpp:18
void setSmallestScreenWidthDP(int dp)
Set the smallest screen width, in dp units.
Definition: DeviceConfiguration.cpp:491
NightMode
Night modes.
Definition: DeviceConfiguration.hpp:51
Definition: DeviceConfiguration.hpp:33
LayoutDirection
Layout directions.
Definition: DeviceConfiguration.hpp:55
bool isBetterThan(const DeviceConfiguration &other) const
Determine if this device configuration is better than another.
Definition: DeviceConfiguration.cpp:1030
Definition: DeviceConfiguration.hpp:15
SDKVersion
Android SDK versions.
Definition: DeviceConfiguration.hpp:59
void setLanguage(const ccxx::String &language)
Set the two-character language code.
Definition: DeviceConfiguration.cpp:128
Definition: DeviceConfiguration.hpp:52
Definition: DeviceConfiguration.hpp:44
NavigationHidden getNavigationHidden() const
Get the "hidden" state of the navigation controls.
Definition: DeviceConfiguration.cpp:650
void setScreenDensity(ScreenDensity value)
Set the screen density category.
Definition: DeviceConfiguration.cpp:386
bool isValidFor(const DeviceConfiguration &other) const
Determine if this device configuration satisfies the requirements specified by another.
Definition: DeviceConfiguration.cpp:1038
KeyboardType getKeyboardType() const
Get the keyboard type.
Definition: DeviceConfiguration.cpp:527
void setNavigationType(NavigationType value)
Set the navigation controls type.
Definition: DeviceConfiguration.cpp:614
void setKeyboardType(KeyboardType value)
Set the keyboard type.
Definition: DeviceConfiguration.cpp:553
Definition: DeviceConfiguration.hpp:35
Definition: DeviceConfiguration.hpp:51
UIMode getUIMode() const
Get the dock mode.
Definition: DeviceConfiguration.cpp:759
Definition: DeviceConfiguration.hpp:25
void setNavigationHidden(NavigationHidden value)
Set the "hidden" state of the navigation controls.
Definition: DeviceConfiguration.cpp:673
Definition: DeviceConfiguration.hpp:48
int getScreenHeightDP() const
Get the screen height, in dp units.
Definition: DeviceConfiguration.cpp:467
Definition: DeviceConfiguration.hpp:20
ScreenDensity
Definition: DisplayMetrics.hpp:8
Definition: DeviceConfiguration.hpp:19
~DeviceConfiguration()
Destructor.
Definition: DeviceConfiguration.cpp:52
ccxx::String getCountry() const
Get the two-character country code.
Definition: DeviceConfiguration.cpp:144
Definition: DeviceConfiguration.hpp:43
Definition: DeviceConfiguration.hpp:55
Definition: DeviceConfiguration.hpp:15
Jelly Bean.
Definition: DeviceConfiguration.hpp:95
Honeycomb.
Definition: DeviceConfiguration.hpp:85
Definition: DeviceConfiguration.hpp:32
Definition: DeviceConfiguration.hpp:35
ScreenAspect
Screen aspect ratio categories.
Definition: DeviceConfiguration.hpp:28
NightMode getNightMode() const
Get the night mode.
Definition: DeviceConfiguration.cpp:823
Gingerbread.
Definition: DeviceConfiguration.hpp:77
Definition: DeviceConfiguration.hpp:40
ccxx::String getLanguage() const
Get the two-character language code.
Definition: DeviceConfiguration.cpp:117
Definition: DeviceConfiguration.hpp:33
Honeycomb.
Definition: DeviceConfiguration.hpp:83
Definition: DeviceConfiguration.hpp:24
Definition: DeviceConfiguration.hpp:32
Definition: DeviceConfiguration.hpp:28
Definition: DeviceConfiguration.hpp:23
void setScreenWidthDP(int dp)
Set the screen width, in dp units.
Definition: DeviceConfiguration.cpp:459
void setScreenType(ScreenType value)
Set the touchscreen type.
Definition: DeviceConfiguration.cpp:255
Definition: DeviceConfiguration.hpp:18
Jelly Bean.
Definition: DeviceConfiguration.hpp:91
Definition: DeviceConfiguration.hpp:29
NavigationType getNavigationType() const
Get the navigation controls type.
Definition: DeviceConfiguration.cpp:585
Definition: DeviceConfiguration.hpp:48
UIMode
Dock modes.
Definition: DeviceConfiguration.hpp:47
ScreenSize
Screen size categories.
Definition: DeviceConfiguration.hpp:23
ScreenSize getScreenSize() const
Get the screen size category.
Definition: DeviceConfiguration.cpp:287