diff options
Diffstat (limited to 'wearable_src/Power/PowerManager.h')
-rwxr-xr-x | wearable_src/Power/PowerManager.h | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/wearable_src/Power/PowerManager.h b/wearable_src/Power/PowerManager.h new file mode 100755 index 0000000..e5f6153 --- /dev/null +++ b/wearable_src/Power/PowerManager.h @@ -0,0 +1,86 @@ +// +// Tizen Web Device API +// Copyright (c) 2012 Samsung Electronics Co., Ltd. +// +// Licensed under the Apache License, Version 2.0 (the License); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#ifndef _POWER_MANAGER_H_ +#define _POWER_MANAGER_H_ + +#include <string> +#include <list> +#include <CallbackUserData.h> +#include <JavaScriptCore/JavaScript.h> +#include <power.h> + +namespace DeviceAPI { +namespace Power { + +class PowerResource{ +public: + enum type { SCREEN=0, CPU=1 }; + PowerResource( const char * str ); + operator type() const {return mType;} + const std::string toString(); + type mType; +}; + +class PowerState{ +public: + enum state { SCREENOFF, SCREENDIM, SCREENNORMAL, SCREENBRIGHT, CPUAWAKE }; + PowerState( const char * str ); + PowerState( state in); + operator state() const {return mState;} + const std::string toString(); + state mState; +}; + + + +class PowerManager +{ +public: + void request( PowerResource resource, PowerState state ); + void release( PowerResource resource ); + double getScreenBrightness(); + void setScreenBrightness(double brightness); + void restoreScreenBrightness(); + bool isScreenOn(); + void setScreenState( bool onoff ); + + void addScreenStateChangedCallback(Common::CallbackUserData *callback); + void removeScreenStateChangedCallback(Common::CallbackUserData *callback); + + static PowerManager* getInstance(); +private: + int getPlatformBrightness(); + void setPlatformBrightness(int i); + void restoreSettedBrightness(); + static void onPlatformStateChangedCB(power_state_e state, void *user_data); + PowerManager(); + virtual ~PowerManager(); + void broadcastScreenState(PowerState current); + std::list<Common::CallbackUserData*> mListener; + PowerState mCurrentState; + bool mBrightStateEnable; + int mCurrentBrightness; + bool mShouldBeReadFromCache; + +}; + +} +} + +#endif /* _POWER_MANAGER_H_ */ + |