From 0d2997a0945ecd541cbca72941aa3224ebd815b1 Mon Sep 17 00:00:00 2001 From: HyungKyu Song Date: Thu, 14 Feb 2013 21:48:05 +0900 Subject: [PATCH] Tizen 2.0 Release --- CMakeLists.txt | 6 +++--- debian/changelog | 18 ++++++++++++++++- libslp-pm.manifest | 6 ++++++ packaging/libslp-pm.spec | 14 +++---------- pm.c | 4 ++++ pmapi.h | 41 +++++++++++++++----------------------- pmapi_managed.h | 52 ++++++++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 101 insertions(+), 40 deletions(-) mode change 100644 => 100755 debian/changelog create mode 100644 libslp-pm.manifest mode change 100644 => 100755 packaging/libslp-pm.spec create mode 100644 pmapi_managed.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 0875ff4..189c8e5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ PROJECT(pmapi C) SET(SRCS pm.c) -SET(HEADERS pmapi.h SLP_pm_PG.h) +SET(HEADERS pmapi.h pmapi_managed.h SLP_pm_PG.h) SET(PREFIX ${CMAKE_INSTALL_PREFIX}) SET(EXEC_PREFIX "\${prefix}") @@ -29,8 +29,8 @@ SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${VERSION}) CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY) -INSTALL(TARGETS ${PROJECT_NAME} DESTINATION lib COMPONENT RuntimeLibraries) -INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION lib/pkgconfig) +INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries) +INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig) FOREACH(hfile ${HEADERS}) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${hfile} DESTINATION include) diff --git a/debian/changelog b/debian/changelog old mode 100644 new mode 100755 index b1d608f..7183bd0 --- a/debian/changelog +++ b/debian/changelog @@ -1,7 +1,23 @@ +libslp-pm (1.2.4-23) unstable; urgency=low + + * pm_change_state is moved to managed API. + * Git: slp/pkgs/l/libslp-pm + * Tag: libslp-pm_1.2.4-23 + + -- Seunghun Pi Fri, 07 Aug 2012 11:11:27 +0900 + +libslp-pm (1.2.4-21) unstable; urgency=low + + * Add parameters for pm_lock_state() : HOLD_KEY_BLOCK + * Git: slp/pkgs/l/libslp-pm + * Tag: libslp-pm_1.2.4-21 + + -- Seunghun Pi Sun, 29 Jul 2012 16:17:27 +0900 + libslp-pm (1.2.4-20) unstable; urgency=low * source clean up (remove unnecessary comments, and so on) - * Git: 165.213.180.234:slp/pkgs/l/libslp-pm + * Git: slp/pkgs/l/libslp-pm * Tag: libslp-pm_1.2.4-20 -- Jinkun Jang Tue, 06 Dec 2011 16:39:27 +0900 diff --git a/libslp-pm.manifest b/libslp-pm.manifest new file mode 100644 index 0000000..41a9320 --- /dev/null +++ b/libslp-pm.manifest @@ -0,0 +1,6 @@ + + + + + + diff --git a/packaging/libslp-pm.spec b/packaging/libslp-pm.spec old mode 100644 new mode 100755 index b6e46a2..fdb975a --- a/packaging/libslp-pm.spec +++ b/packaging/libslp-pm.spec @@ -1,4 +1,3 @@ - Name: libslp-pm Summary: Power manager library Version: 1.2.4 @@ -6,9 +5,6 @@ Release: 2.1 Group: TO_BE/FILLED_IN License: TO BE FILLED IN Source0: libslp-pm-%{version}.tar.bz2 -Patch0: remove_tests.patch -Requires(post): /sbin/ldconfig -Requires(postun): /sbin/ldconfig BuildRequires: cmake @@ -29,11 +25,10 @@ SLP power manager client library (devel) %prep %setup -q -%patch0 -p1 %build -cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} +%cmake . make %{?jobs:-j%jobs} @@ -43,25 +38,22 @@ rm -rf %{buildroot} %make_install - - %post -p /sbin/ldconfig %postun -p /sbin/ldconfig - - %files %defattr(-,root,root,-) -%doc COPYING +%manifest libslp-pm.manifest %{_libdir}/libpmapi.so.1.2 %files devel %defattr(-,root,root,-) %{_includedir}/pmapi.h +%{_includedir}/pmapi_managed.h %{_includedir}/SLP_pm_PG.h %{_libdir}/pkgconfig/pmapi.pc %{_libdir}/libpmapi.so diff --git a/pm.c b/pm.c index 32cfe59..90b7430 100644 --- a/pm.c +++ b/pm.c @@ -35,6 +35,7 @@ #define SHIFT_UNLOCK 4 #define SHIFT_UNLOCK_PARAMETER 12 #define SHIFT_CHANGE_STATE 8 +#define SHIFT_HOLD_KEY_BLOCK 16 #define TIMEOUT_RESET_BIT 0x80 struct pwr_msg { @@ -113,6 +114,9 @@ API int pm_lock_state(unsigned int s_bits, unsigned int flag, if (flag & GOTO_STATE_NOW) /* if the flag is true, go to the locking state directly */ s_bits = s_bits | (s_bits << SHIFT_CHANGE_STATE); + if (flag & HOLD_KEY_BLOCK) + s_bits = s_bits | (1 << SHIFT_HOLD_KEY_BLOCK); + return send_msg(s_bits, timeout); } diff --git a/pmapi.h b/pmapi.h index fbd9c6c..1bb2a40 100644 --- a/pmapi.h +++ b/pmapi.h @@ -23,8 +23,10 @@ #ifndef __POWER_MANAGER_LIBRARY_H__ #define __POWER_MANAGER_LIBRARY_H__ +#include "pmapi_managed.h" + /** - * @defgroup POWER_MANAGER Power manager library + * @defgroup POWER_MANAGER Power manager library * @ingroup SYSTEM_FRAMEWORK * @brief Power manager control API library * @@ -100,8 +102,9 @@ extern "C" { #define SETALL (LCD_DIM | LCD_OFF | LCD_NORMAL) /*< select all state - not supported yet */ /* parameters for pm_lock_state() */ -#define GOTO_STATE_NOW 0x1 #define STAY_CUR_STATE 0x0 +#define GOTO_STATE_NOW 0x1 +#define HOLD_KEY_BLOCK 0x2 /* paramters for pm_unlcok_state() - details are described at 162 line */ #define PM_SLEEP_MARGIN 0x0 /**< keep guard time for unlock */ @@ -115,13 +118,20 @@ extern "C" { * @brief This API is used to lock a particular power-state as the current power-state.\n * The parameter state specifies the power state which you want to lock LCD_NORMAL, LCD_DIM, LCD_OFF. \n * The second parameter Flag is set if you want to go the requested lock state directly.\n - * The third parameter timeout specifies lock-timeout in milliseconds. + * The third parameter timeout specifies lock-timeout in milliseconds. * If the value 0 is selected, the power state remains locked until pm_unlock_state is called. * @param[in] state target power state which you want to lock - LCD_NORMAL, LCD_DIM, LCD_OFF - * @param[in] flag set if you want to go the lock state directly - GOTO_STATE_NOW, STAY_CUR_STATE - * @param[in] timeout lock-timeout in miliseconds. + * @param[in] flag set if you want to go the lock state directly + * GOTO_STATE_NOW - State is changed directly you want to lock. + * STAY_CUR_STATE - State is not changed directly and phone stay current state until timeout expired. + * (Default if there is no value in flag.) + * HOLD_KEY_BLOCK - Hold key is blocked during locking LCD_NORMAL or LCD_DIM. + * Then LCD state transition to LCD_OFF is blocked. + * If this flag is not set, phone state is lcd off after pressing hold key. + * GOTO_STATE_NOW and STAY_CUR_STATE can't be applied at the same time. + * @param[in] timeout lock-timeout in miliseconds. * 0 is always lock until calling pm_unlock_state - * If you call this function with same state in duplicate, + * If you call this function with same state in duplicate, * only last one will be processed and others are ignored. * @return 0 on success, -1 if failed * @see pm_unlock_state(), pm_change_state() @@ -169,25 +179,6 @@ extern "C" { int pm_unlock_state(unsigned int, unsigned int); /** - * @fn int pm_change_state(unsigned int state); - * @brief This API is used to change the power manager state by force. - * @param[in] state power manager state - LCD_NORMAL, LCD_DIM, LCD_OFF - * @return 0 on success, -1 if failed. - * @see pm_lock_state(), pm_unlock_state() - * @pat Example - * @code - * ... - * result = pm_change_state(LCD_OFF); - * if( result < 0 ) - * printf("[ERROR] return value result =%d, \n",result); - * else - * printf("[SUCCESS]return value result =%d \n",result); - * ... - * @endcode - */ - int pm_change_state(unsigned int); - -/** * @} */ diff --git a/pmapi_managed.h b/pmapi_managed.h new file mode 100644 index 0000000..4deb80d --- /dev/null +++ b/pmapi_managed.h @@ -0,0 +1,52 @@ +/* + * libslp-pm + * + * Copyright (c) 2000 - 2012 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: Seunghun Pi + * + * 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_LIBRARY_MANAGED_H__ +#define __POWER_MANAGER_LIBRARY_MANAGED_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @fn int pm_change_state(unsigned int state); + * @brief This API is used to change the power manager state by force. + * @param[in] state power manager state - LCD_NORMAL, LCD_DIM, LCD_OFF + * @return 0 on success, -1 if failed. + * @see pm_lock_state(), pm_unlock_state() + * @pat Example + * @code + * ... + * result = pm_change_state(LCD_OFF); + * if( result < 0 ) + * printf("[ERROR] return value result =%d, \n",result); + * else + * printf("[SUCCESS]return value result =%d \n",result); + * ... + * @endcode + */ + int pm_change_state(unsigned int); + +#ifdef __cplusplus +} +#endif +#endif /* __POWER_MANAGER_LIBRARY_MANAGED_H__ */ -- 2.7.4