2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the License);
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an AS IS BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 #ifndef __TIZEN_MEDIA_RADIO_DOC_H__
19 #define __TIZEN_MEDIA_RADIO_DOC_H__
24 * @brief This file contains high level documentation of the Multimedia Service.
28 * @ingroup CAPI_MEDIA_FRAMEWORK
29 * @defgroup CAPI_MEDIA_RADIO_MODULE Radio
30 * @brief The @ref CAPI_MEDIA_RADIO_MODULE APIs provide functions for accessing the radio.
32 * @section CAPI_MEDIA_RADIO_MODULE_HEADER Required Header
35 * @section CAPI_MEDIA_RADIO_MODULE_OVERVIEW Overview
37 * The Radio API provides support for using the Radio.
39 * - Starting and stopping the radio
40 * - Seeking radio frequency
41 * - Scanning radio signals
42 * - Getting the state of the radio
44 * A radio handle (#radio_h) is created by calling the radio_create() function and can be started by using the radio_start() function.
45 * It provides functions to start (radio_scan_start()) and stop (radio_scan_stop()) radio signal scanning. The radio frequency
46 * seek up and seek down can be done asynchronously by calling the radio_seek_up() and radio_seek_down() functions respectively.
47 * It also provides functions to get (radio_get_frequency()) and set (radio_set_frequency()) frequency for the given radio handle.
49 * @subsection CAPI_MEDIA_RADIO_LIFE_CYCLE_STATE_DIAGRAM State Diagram
50 * The radio API is controlled by a state machine.
51 * The following diagram shows the life cycle and the states of the Radio.
52 * @image html capi_media_radio_state_diagram.png
55 * @subsection CAPI_MEDIA_RADIO_LIFE_CYCLE_STATE_TRANSITIONS State Transitions
56 * <div><table class="doxtable" >
58 * <th><b>FUNCTION</b></th>
59 * <th><b>PRE-STATE</b></th>
60 * <th><b>POST-STATE</b></th>
61 * <th><b>SYNC TYPE</b></th>
64 * <td>radio_create()</td>
70 * <td>radio_destroy()</td>
76 * <td>radio_start()</td>
82 * <td>radio_stop()</td>
88 * <td>radio_scan_start()</td>
94 * <td>radio_scan_stop()</td>
100 * <td>radio_seek_up()</td>
106 * <td>radio_seek_down()</td>
114 * This API also gives notifications for radio's state change events by a callback mechanism.
115 * @subsection CAPI_MEDIA_RADIO_LIFE_CYCLE_CALLBACK_OPERATIONS Callback(Event) Operations
116 * The callback mechanism is used to notify the application about radio events.
117 * <div><table class="doxtable" >
119 * <th><b>REGISTER</b></th>
120 * <th><b>UNREGISTER</b></th>
121 * <th><b>CALLBACK</b></th>
122 * <th><b>DESCRIPTION</b></th>
125 * <td>radio_set_scan_completed_cb()</td>
126 * <td>radio_unset_scan_completed_cb()</td>
127 * <td> radio_scan_completed_cb()</td>
128 * <td>This callback is invoked when the scan is completed </td>
131 * <td>radio_set_interrupted_cb()</td>
132 * <td>radio_unset_interrupted_cb()</td>
133 * <td>radio_interrupted_cb()</td>
134 * <td>This callback is used to notify when the radio is interrupted </td>
137 * @section CAPI_MEDIA_RADIO_MODULE_FEATURE Related Features
138 * This API is related with the following features:\n
139 * - http://tizen.org/feature/fmradio\n
141 * It is recommended to design feature related codes in your application for reliability.\n
143 * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application.\n
145 * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n
147 * More details on featuring your application can be found from <a href="../org.tizen.mobile.native.appprogramming/html/ide_sdk_tools/feature_element.htm"><b>Feature Element</b>.</a>
152 #endif /* __TIZEN_MEDIA_RADIO_DOC_H__ */