4 * Copyright (c) 2014 - 2015 Samsung Electronics Co., Ltd. All rights reserved.
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
20 #ifndef __TIZEN_CONVERGENCE_SERVICE_BOX_H__
21 #define __TIZEN_CONVERGENCE_SERVICE_BOX_H__
24 #define API __attribute__ ((visibility("default")))
33 #include <app_control.h>
46 * \#include <svcbox.h>
53 * @brief Enumerations of error code for Service Box
55 typedef enum _svcbox_result_e
57 SVCBOX_RESULT_SUCCEEDED = 0,
61 * @brief Enumerations of error code for Service Box
63 typedef enum _svcbox_service_spec_type_e
69 } svcbox_service_spec_type_e;
72 * @brief Describes profile list about Service Box
74 typedef struct _svcbox_profiles_s
80 * @brief The handle for profile list of Service Box
82 typedef svcbox_profiles_s *svcbox_profiles_h;
85 * @brief Describes profile information about Service Box
87 typedef struct _svcbox_profile_info_s
90 } svcbox_profile_info_s;
93 * @brief The handle for profile information of Service Box
95 typedef svcbox_profile_info_s *svcbox_profile_info_h;
98 * @brief Describes service list about Service Box
100 typedef struct _svcbox_services_s
106 * @brief The handle for service list of Service Box
108 typedef svcbox_services_s *svcbox_services_h;
111 * @brief Describes service information about Service Box
113 typedef struct _svcbox_service_info_s
116 } svcbox_service_info_s;
119 * @brief The handle for profile information of Service Box
121 typedef svcbox_service_info_s *svcbox_service_info_h;
124 * @brief Callback for svcbox_profiles_list_foreach_profile_info API
126 * @param[in] profile_info specifies profile information handle
127 * @param[in] user_data specifies user_data of svcbox_profiles_list_foreach_profile_info()
129 * @pre svcbox_profiles_list_foreach_profile_info() will invoke this callback.
132 typedef void (*svcbox_profile_info_cb)(svcbox_profile_info_h profile_info,
136 * @brief Callback for svcbox_services_list_foreach_service_info API
138 * @param[in] profile_info specifies service information handle
139 * @param[in] user_data specifies user_data of svcbox_services_list_foreach_service_info()
141 * @pre svcbox_services_list_foreach_service_info() will invoke this callback.
144 typedef void (*svcbox_service_info_cb)(svcbox_service_info_h service_info,
147 /*==================================================================================================
149 ==================================================================================================*/
152 * @brief Connects Service Box
155 * @return 0 on success, otherwise a negative error value
156 * @retval error code defined in svcbox_result_e - SVCBOX_RESULT_SUCCEEDED if Successful
158 int svcbox_connect();
161 * @brief Disconnects Service Box
164 * @return 0 on success, otherwise a negative error value
165 * @retval error code defined in svcbox_result_e - SVCBOX_RESULT_SUCCEEDED if Successful
167 int svcbox_disconnect();
170 * @brief Creates Profile List
173 * @return 0 on success, otherwise a negative error value
174 * @retval error code defined in svcbox_result_e - SVCBOX_RESULT_SUCCEEDED if Successful
176 int svcbox_profiles_list_create(svcbox_profiles_h *profiles);
179 * @brief Destroies Profile List
182 * @return 0 on success, otherwise a negative error value
183 * @retval error code defined in svcbox_result_e - SVCBOX_RESULT_SUCCEEDED if Successful
185 int svcbox_profiles_list_destroy(svcbox_profiles_h profiles);
188 * @brief Adds Profile Information in Profile List
191 * @return 0 on success, otherwise a negative error value
192 * @retval error code defined in svcbox_result_e - SVCBOX_RESULT_SUCCEEDED if Successful
194 int svcbox_profiles_list_add(svcbox_profile_info_h profile_info);
197 * @brief Removes Profile Information in Profile List
200 * @return 0 on success, otherwise a negative error value
201 * @retval error code defined in svcbox_result_e - SVCBOX_RESULT_SUCCEEDED if Successful
203 int svcbox_profiles_list_remove(svcbox_profile_info_h profile_info);
206 * @brief Retrieves Profile Information of Profile List
209 * @return 0 on success, otherwise a negative error value
210 * @retval error code defined in svcbox_result_e - SVCBOX_RESULT_SUCCEEDED if Successful
212 int svcbox_profiles_list_foreach_profile_info(svcbox_profiles_h profiles,
213 svcbox_profile_info_cb callback,
217 * @brief Creates Profile Information
220 * @return 0 on success, otherwise a negative error value
221 * @retval error code defined in svcbox_result_e - SVCBOX_RESULT_SUCCEEDED if Successful
223 int svcbox_profile_info_create(svcbox_profile_info_h *profile_info);
226 * @brief Destroies Profile Information
229 * @return 0 on success, otherwise a negative error value
230 * @retval error code defined in svcbox_result_e - SVCBOX_RESULT_SUCCEEDED if Successful
232 int svcbox_profile_info_destroy(svcbox_profile_info_h profile_info);
235 * @brief Sets Profile URI
238 * @return 0 on success, otherwise a negative error value
239 * @retval error code defined in svcbox_result_e - SVCBOX_RESULT_SUCCEEDED if Successful
241 int svcbox_profile_info_set_uri(svcbox_profile_info_h profile_info,
245 * @brief Gets Profile URI
248 * @return 0 on success, otherwise a negative error value
249 * @retval error code defined in svcbox_result_e - SVCBOX_RESULT_SUCCEEDED if Successful
251 int svcbox_profile_info_get_uri(svcbox_profile_info_h profile_info,
255 * @brief Sets Profile Root Path
258 * @return 0 on success, otherwise a negative error value
259 * @retval error code defined in svcbox_result_e - SVCBOX_RESULT_SUCCEEDED if Successful
261 int svcbox_profile_info_set_root_path(svcbox_profile_info_h profile_info,
265 * @brief Gets Profile Root Path
268 * @return 0 on success, otherwise a negative error value
269 * @retval error code defined in svcbox_result_e - SVCBOX_RESULT_SUCCEEDED if Successful
271 int svcbox_profile_info_get_root_path(svcbox_profile_info_h profile_info,
275 * @brief Creates Service List
278 * @return 0 on success, otherwise a negative error value
279 * @retval error code defined in svcbox_result_e - SVCBOX_RESULT_SUCCEEDED if Successful
281 int svcbox_services_list_create(svcbox_services_h *services);
284 * @brief Destroies Service List
287 * @return 0 on success, otherwise a negative error value
288 * @retval error code defined in svcbox_result_e - SVCBOX_RESULT_SUCCEEDED if Successful
290 int svcbox_services_list_destroy(svcbox_services_h services);
293 * @brief Adds Service Information in Service List
296 * @return 0 on success, otherwise a negative error value
297 * @retval error code defined in svcbox_result_e - SVCBOX_RESULT_SUCCEEDED if Successful
299 int svcbox_services_list_add(svcbox_service_info_h service_info);
302 * @brief Removes Service Information in Service List
305 * @return 0 on success, otherwise a negative error value
306 * @retval error code defined in svcbox_result_e - SVCBOX_RESULT_SUCCEEDED if Successful
308 int svcbox_services_list_remove(svcbox_service_info_h service_info);
311 * @brief Retrieves Service Information of Service List
314 * @return 0 on success, otherwise a negative error value
315 * @retval error code defined in svcbox_result_e - SVCBOX_RESULT_SUCCEEDED if Successful
317 int svcbox_services_list_foreach_service_info(svcbox_services_h services,
318 svcbox_service_info_cb callback,
322 * @brief Creates Service Information
325 * @return 0 on success, otherwise a negative error value
326 * @retval error code defined in svcbox_result_e - SVCBOX_RESULT_SUCCEEDED if Successful
328 int svcbox_service_info_create(svcbox_service_info_h *service_info);
331 * @brief Destroies Service Information
334 * @return 0 on success, otherwise a negative error value
335 * @retval error code defined in svcbox_result_e - SVCBOX_RESULT_SUCCEEDED if Successful
337 int svcbox_service_info_destroy(svcbox_service_info_h service_info);
340 * @brief Sets Service URI
343 * @return 0 on success, otherwise a negative error value
344 * @retval error code defined in svcbox_result_e - SVCBOX_RESULT_SUCCEEDED if Successful
346 int svcbox_service_info_set_uri(svcbox_service_info_h service_info,
350 * @brief Gets Service URI
353 * @return 0 on success, otherwise a negative error value
354 * @retval error code defined in svcbox_result_e - SVCBOX_RESULT_SUCCEEDED if Successful
356 int svcbox_service_info_get_uri(svcbox_service_info_h service_info,
360 * @brief Sets Service Root Path
363 * @return 0 on success, otherwise a negative error value
364 * @retval error code defined in svcbox_result_e - SVCBOX_RESULT_SUCCEEDED if Successful
366 int svcbox_service_info_set_root_path(svcbox_service_info_h service_info,
370 * @brief Gets Service Root Path
373 * @return 0 on success, otherwise a negative error value
374 * @retval error code defined in svcbox_result_e - SVCBOX_RESULT_SUCCEEDED if Successful
376 int svcbox_service_info_get_root_path(svcbox_service_info_h service_info,
380 * @brief Sets Service Name
383 * @return 0 on success, otherwise a negative error value
384 * @retval error code defined in svcbox_result_e - SVCBOX_RESULT_SUCCEEDED if Successful
386 int svcbox_service_info_set_name(svcbox_service_info_h service_info,
390 * @brief Gets Service Name
393 * @return 0 on success, otherwise a negative error value
394 * @retval error code defined in svcbox_result_e - SVCBOX_RESULT_SUCCEEDED if Successful
396 int svcbox_service_info_get_name(svcbox_service_info_h service_info,
400 * @brief Sets Service Spec
403 * @return 0 on success, otherwise a negative error value
404 * @retval error code defined in svcbox_result_e - SVCBOX_RESULT_SUCCEEDED if Successful
406 int svcbox_service_info_set_spec(svcbox_service_info_h service_info,
407 svcbox_service_spec_type_e type);
410 * @brief Gets Service Spec
413 * @return 0 on success, otherwise a negative error value
414 * @retval error code defined in svcbox_result_e - SVCBOX_RESULT_SUCCEEDED if Successful
416 int svcbox_service_info_get_spec(svcbox_service_info_h service_info,
417 svcbox_service_spec_type_e *type);
420 * @brief Sets Service Spec Value
423 * @return 0 on success, otherwise a negative error value
424 * @retval error code defined in svcbox_result_e - SVCBOX_RESULT_SUCCEEDED if Successful
426 int svcbox_service_info_set_spec_value(svcbox_service_info_h service_info,
431 * @brief Gets Service Spec Value
434 * @return 0 on success, otherwise a negative error value
435 * @retval error code defined in svcbox_result_e - SVCBOX_RESULT_SUCCEEDED if Successful
437 int svcbox_service_info_get_spec_value(svcbox_service_info_h service_info,
442 * @brief Sets Service App Control
445 * @return 0 on success, otherwise a negative error value
446 * @retval error code defined in svcbox_result_e - SVCBOX_RESULT_SUCCEEDED if Successful
448 int svcbox_service_info_set_app_control(svcbox_service_info_h service_info,
449 app_control_h app_control);
452 * @brief Gets Service App Control
455 * @return 0 on success, otherwise a negative error value
456 * @retval error code defined in svcbox_result_e - SVCBOX_RESULT_SUCCEEDED if Successful
458 int svcbox_service_info_get_app_control(svcbox_service_info_h service_info,
459 app_control_h *app_control);
469 #endif /* __TIZEN_CONVERGENCE_SERVICE_BOX_H__ */