Initial refactoring merge
[platform/core/telephony/libtapi.git] / include / tapi_phonebook.h
1 /*
2  * libtapi
3  *
4  * Copyright (c) 2013 Samsung Electronics Co. Ltd. All rights reserved.
5  * Copyright (c) 2013 Intel Corporation. All rights reserved.
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  */
19
20 #ifndef __TAPI_PHONEBOOK_H__
21 #define __TAPI_PHONEBOOK_H__
22
23 /**
24 *  @addtogroup TAPI_PHONEBOOK
25 *  @{
26 *
27 *  @file tapi_phonebook.h
28 *  @brief TAPI Phonebook Interface
29 */
30
31 #include <tapi.h>
32 #include <tel_phonebook.h>
33 #include <tel_return.h>
34
35 #ifdef __cplusplus
36 extern "C"
37 {
38 #endif
39
40  /**
41  *  @brief Get SIM Phone book init status
42  *
43  *  @par Sync (or) Async:
44  *  Synchronous API
45  *
46  *  @return Possible #TelReturn values:\n
47  *  <b>TEL_RETURN_SUCCESS</b>: Operation completed successfully\n
48  *  <b>TEL_RETURN_FAILURE</b>: Operation failed\n
49  *  <b>TEL_RETURN_INVALID_PARAMETER</b>: Invalid input parameters
50  *
51  *  @param[in] handle #TelHandle obtained from tapi_init()
52  *  @param[out] init_completed Phonebook init status. '0' is not init, '1' is init complete to use
53  *  @param[out] pb_list Available SIM phonebook list. This value is valid in phonebook init complete case (#TelPbList)
54  *  Out params are valid only when TelReturn is TEL_RETURN_SUCCESS.
55  */
56 TelReturn tapi_pb_get_sim_pb_init_info(TelHandle *handle,
57                                 gboolean *init_completed, TelPbList *pb_list);
58
59
60 /**
61  *  @brief Get current inserted SIM phonebook informations
62  *
63  *  @par Sync (or) Async:
64  *  Asynchronous API
65  *
66  *  @return Possible #TelReturn values:\n
67  *  <b>TEL_RETURN_SUCCESS</b>: Request is successfully posted to telephony\n
68  *  <b>TEL_RETURN_INVALID_PARAMETER</b>: Invalid input parameters
69  *
70  *  @param[in] handle #TelHandle obtained from tapi_init()
71  *  @param[in] pb_type Different storage types to be selected in SIM (#TelPbType)
72  *  @param[in] callback #TapiResponseCb Response callback
73  *  @param[in] user_data Callback user data
74  *
75  *  @par Async Response:
76  *  \em result Possible #TelNetworkResult values:\n
77  *  <b>TEL_PB_RESULT_SUCCESS</b>: Operation completed successfully\n
78  *  <b>TEL_PB_RESULT_FAILURE</b>: Operation failed\n
79  *  <b>TEL_PB_RESULT_INVALID_PARAMETER</b>: Invalid input parameters\n
80  *  <b>TEL_PB_RESULT_MEMORY_FAILURE</b>: Memory allocation failed\n
81  *  <b>TEL_PB_RESULT_OPERATION_NOT_SUPPORTED</b>: Operation not supported\n
82  *  <b>TEL_PB_RESULT_UNKNOWN_FAILURE</b>: Unknown failure\n
83  *  <b>TEL_PB_RESULT_NOT_INITIALIZED</b>: Phonebook not initialized\n
84  *  <b>TEL_PB_RESULT_ACCESS_RESTRICTED</b>: Access restricted\n
85  *  <b>TEL_PB_RESULT_OPERATION_NOT_PERMITTED</b>: Operation not permitted\n
86  *  \em data #TelPbInfo if result is TEL_PB_RESULT_SUCCESS
87  */
88 TelReturn tapi_pb_get_sim_pb_info(TelHandle *handle, TelPbType pb_type,
89                                 TapiResponseCb callback, void *user_data);
90
91 /**
92  *  @brief Read SIM phone book entry information from given storage type
93  *
94  *  @par Sync (or) Async:
95  *  Asynchronous API
96  *
97  *  @return Possible #TelReturn values:\n
98  *  <b>TEL_RETURN_SUCCESS</b>: Request is successfully posted to telephony\n
99  *  <b>TEL_RETURN_INVALID_PARAMETER</b>: Invalid input parameters
100  *
101  *  @param[in] handle #TelHandle obtained from tapi_init()
102  *  @param[in] record Index for accessing the SIM data \n Different storage types to be selected in SIM (#TelPbRecordInfo)
103  *  @param[in] callback #TapiResponseCb Response callback
104  *  @param[in] user_data Callback user data
105  *
106  *  @par Async Response:
107  *  \em result Possible #TelNetworkResult values:\n
108  *  <b>TEL_PB_RESULT_SUCCESS</b>: Operation completed successfully\n
109  *  <b>TEL_PB_RESULT_FAILURE</b>: Operation failed\n
110  *  <b>TEL_PB_RESULT_INVALID_PARAMETER</b>: Invalid input parameters\n
111  *  <b>TEL_PB_RESULT_MEMORY_FAILURE</b>: Memory allocation failed\n
112  *  <b>TEL_PB_RESULT_OPERATION_NOT_SUPPORTED</b>: Operation not supported\n
113  *  <b>TEL_PB_RESULT_UNKNOWN_FAILURE</b>: Unknown failure\n
114  *  <b>TEL_PB_RESULT_INVALID_INDEX</b>: The index passed was not a valid index\n
115  *  <b>TEL_PB_RESULT_NOT_INITIALIZED</b>: Phonebook not initialized\n
116  *  <b>TEL_PB_RESULT_ACCESS_RESTRICTED</b>: Access restricted\n
117  *  <b>TEL_PB_RESULT_OPERATION_NOT_PERMITTED</b>: Operation not permitted\n
118  *  \em data #TelPbReadRecord if result is TEL_PB_RESULT_SUCCESS
119  */
120 TelReturn tapi_pb_read_sim_pb_record(TelHandle *handle, const TelPbRecordInfo *record,
121                                 TapiResponseCb callback, void *user_data);
122
123 /**
124  *  @brief Add or edit SIM phone book record entry information
125  *
126  *  @par Sync (or) Async:
127  *  Asynchronous API
128  *
129  *  @return Possible #TelReturn values:\n
130  *  <b>TEL_RETURN_SUCCESS</b>: Request is successfully posted to telephony\n
131  *  <b>TEL_RETURN_INVALID_PARAMETER</b>: Invalid input parameters
132  *
133  *  @param[in] handle #TelHandle obtained from tapi_init()
134  *  @param[in] req_data Phonebook data which will be updated or added (#TelPbUpdateRecord)
135  *  @param[in] callback #TapiResponseCb Response callback
136  *  @param[in] user_data Callback user data
137  *
138  *  @par Async Response:
139  *  \em result Possible #TelNetworkResult values:\n
140  *  <b>TEL_PB_RESULT_SUCCESS</b>: Operation completed successfully\n
141  *  <b>TEL_PB_RESULT_FAILURE</b>: Operation failed\n
142  *  <b>TEL_PB_RESULT_INVALID_PARAMETER</b>: Invalid input parameters\n
143  *  <b>TEL_PB_RESULT_MEMORY_FAILURE</b>: Memory allocation failed\n
144  *  <b>TEL_PB_RESULT_OPERATION_NOT_SUPPORTED</b>: Operation not supported\n
145  *  <b>TEL_PB_RESULT_UNKNOWN_FAILURE</b>: Unknown failure\n
146  *  <b>TEL_PB_RESULT_INVALID_INDEX</b>: The index passed was not a valid index\n
147  *  <b>TEL_PB_RESULT_NOT_INITIALIZED</b>: Phonebook not initialized\n
148  *  <b>TEL_PB_RESULT_ACCESS_RESTRICTED</b>: Access restricted\n
149  *  <b>TEL_PB_RESULT_OPERATION_NOT_PERMITTED</b>: Operation not permitted\n
150  *  \em data NULL
151  */
152 TelReturn tapi_pb_update_sim_pb_record(TelHandle *handle, const TelPbUpdateRecord *req_data,
153                                 TapiResponseCb callback, void *user_data);
154
155 /**
156  *  @brief Delete a SIM phonebook record
157  *
158  *  @par Sync (or) Async:
159  *  Asynchronous API
160  *
161  *  @return Possible #TelReturn values:\n
162  *  <b>TEL_RETURN_SUCCESS</b>: Request is successfully posted to telephony\n
163  *  <b>TEL_RETURN_INVALID_PARAMETER</b>: Invalid input parameters
164  *
165  *  @param[in] handle #TelHandle obtained from tapi_init()
166  *  @param[in] record Index for accessing the SIM data \n Different storage types to be selected in SIM (#TelPbRecordInfo)
167  *  @param[in] callback #TapiResponseCb Response callback
168  *  @param[in] user_data Callback user data
169  *
170  *  @par Async Response:
171  *  \em result Possible #TelNetworkResult values:\n
172  *  <b>TEL_PB_RESULT_SUCCESS</b>: Operation completed successfully\n
173  *  <b>TEL_PB_RESULT_FAILURE</b>: Operation failed\n
174  *  <b>TEL_PB_RESULT_INVALID_PARAMETER</b>: Invalid input parameters\n
175  *  <b>TEL_PB_RESULT_MEMORY_FAILURE</b>: Memory allocation failed\n
176  *  <b>TEL_PB_RESULT_OPERATION_NOT_SUPPORTED</b>: Operation not supported\n
177  *  <b>TEL_PB_RESULT_UNKNOWN_FAILURE</b>: Unknown failure\n
178  *  <b>TEL_PB_RESULT_INVALID_INDEX</b>: The index passed was not a valid index\n
179  *  <b>TEL_PB_RESULT_NOT_INITIALIZED</b>: Phonebook not initialized\n
180  *  <b>TEL_PB_RESULT_ACCESS_RESTRICTED</b>: Access restricted\n
181  *  <b>TEL_PB_RESULT_OPERATION_NOT_PERMITTED</b>: Operation not permitted\n
182  *  \em data NULL
183  */
184 TelReturn tapi_pb_delete_sim_pb_record(TelHandle *handle, const TelPbRecordInfo *record,
185                                 TapiResponseCb callback, void *user_data);
186
187 #ifdef __cplusplus
188 }
189 #endif
190
191 /** @}*/
192
193 #endif  /* __TAPI_PHONEBOOK_H__ */