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}")
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)
+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 <sh.pi@samsung.com> 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 <sh.pi@samsung.com> 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 <jinkun.jang@samsung.com> Tue, 06 Dec 2011 16:39:27 +0900
--- /dev/null
+<manifest>
+ <request>
+ <domain name="_"/>
+ </request>
+</manifest>
+
-
Name: libslp-pm
Summary: Power manager library
Version: 1.2.4
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
%prep
%setup -q
-%patch0 -p1
%build
-cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix}
+%cmake .
make %{?jobs:-j%jobs}
%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
#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 {
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);
}
#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
*
#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 */
* @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()
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);
-
-/**
* @}
*/
--- /dev/null
+/*
+ * libslp-pm
+ *
+ * Copyright (c) 2000 - 2012 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact: Seunghun Pi <sh.pi@samsung.com>
+ *
+ * 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__ */