diff options
author | Hyungdeuk Kim <hd3.kim@samsung.com> | 2012-08-21 20:45:41 +0900 |
---|---|---|
committer | Hyungdeuk Kim <hd3.kim@samsung.com> | 2012-08-21 20:45:41 +0900 |
commit | 2a671aad55d18f2db00b15049bca4651c6302aa2 (patch) | |
tree | b2d0ba922603eba2e91ed1ff7fe9c19f73db5a26 /include | |
parent | 0bd165226db5510b590464688ad1b1983625224c (diff) | |
download | media-key-master.tar.gz media-key-master.tar.bz2 media-key-master.zip |
Diffstat (limited to 'include')
-rwxr-xr-x | include/media_key.h | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/include/media_key.h b/include/media_key.h new file mode 100755 index 0000000..e50297c --- /dev/null +++ b/include/media_key.h @@ -0,0 +1,121 @@ +/* + * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved + * + * 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 __TIZEN_SYSTEM_MEDIA_KEY_H__ +#define __TIZEN_SYSTEM_MEDIA_KEY_H__ + +#include <tizen.h> + +#ifdef __cplusplus +extern "C" +{ +#endif + + /** + * @addtogroup CAPI_SYSTEM_MEDIA_KEY_MODULE + * @{ + */ + +/** + * @brief Enumeration of error code for media key + */ + +typedef enum +{ + MEDIA_KEY_ERROR_NONE = TIZEN_ERROR_NONE, /**< Successful */ + MEDIA_KEY_ERROR_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER, /**< Invalid parameter */ +} media_key_error_e; + + +/** + * @brief Enumeration of media key + */ +typedef enum +{ + MEDIA_KEY_PLAY, /**< */ + MEDIA_KEY_STOP, /**< */ + MEDIA_KEY_PAUSE, /**< */ + MEDIA_KEY_PREVIOUS, /**< */ + MEDIA_KEY_NEXT, /**< */ + MEDIA_KEY_FASTFORWARD, /**< */ + MEDIA_KEY_REWIND, /**< */ + MEDIA_KEY_UNKNOWN, +} media_key_e; + + +/** + * @brief Enumeration of media key event status + */ +typedef enum +{ + MEDIA_KEY_STATUS_PRESSED, /**< */ + MEDIA_KEY_STATUS_RELEASED, /**< */ + MEDIA_KEY_STATUS_UNKNOWN, +} media_key_event_e; + + +/** + * @brief Called when the status of media key is changed + * @param[in] key the key which has status change + * @param[in] status the status of key + * @param[in] user_data The user data passed from the callback registration function + * @pre media_key_reserve() will invoke this callback function. + * @see media_key_reserve() + * @see media_key_release() + */ +typedef void (*media_key_event_cb)(media_key_e key, media_key_event_e status, void* user_data); + + +/** + * @brief Registers a change event callback for all media keys. + * + * @param[in] callback The callback function to invoke + * @param[in] user_data The user data to be passed to the callback function + * + * @return 0 on success, otherwise a negative error value. + * @retval #MEDIA_KEY_ERROR_NONE Successful + * @retval #MEDIA_KEY_ERROR_INVALID_PARAMETER Invalid parameter + * @post runtime_info_changed_cb() will be invoked. + * + * @see media_key_release() + * @see media_key_event_cb() +*/ +int media_key_reserve(media_key_event_cb callback, void* user_data); + + +/** + * @brief Unregisters the callback function. + * + * @param[in] key The runtime information type + * @return 0 on success, otherwise a negative error value. + * @retval #MEDIA_KEY_ERROR_NONE Successful + * @retval #MEDIA_KEY_ERROR_INVALID_PARAMETER Invalid parameter + * + * @see media_key_set_event_cb() + */ +int media_key_release(); + + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __TIZEN_SYSTEM_MEDIA_KEY_H__ */ + |