diff options
Diffstat (limited to 'include/service-adapter/sa_common_interface.h')
-rwxr-xr-x | include/service-adapter/sa_common_interface.h | 285 |
1 files changed, 285 insertions, 0 deletions
diff --git a/include/service-adapter/sa_common_interface.h b/include/service-adapter/sa_common_interface.h new file mode 100755 index 0000000..56d95aa --- /dev/null +++ b/include/service-adapter/sa_common_interface.h @@ -0,0 +1,285 @@ +/* + * oma-ds-agent + * Copyright (c) 2012 Samsung Electronics Co., Ltd. + * + * 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. + */ + +/** + * @SA_Common_Interface.h + * @version 0.1 + * @brief This file is the header file of interface of SA + * called by SE + */ + +#ifndef SA_COMMON_INTERFACE_H_ +#define SA_COMMON_INTERFACE_H_ + +/** + * @par Description: API to process pre-action that has to be befor sync service + * + * Exchage Pkg1 and Pkg2 with server + * Get Device Information + * + * @par Purpose: + * @par Typical use case: + * @par Method of function operation: + * @par Important notes: + * @param[in] int type, transport Type(obex, FW_HTTP ...) + * @param[in] int type, account id + * @param[in] string type, session id + * @param[in] int type, whether server is fmm server for calllog or not + * @param[out] pre_sync_return_obj_s structure(result from pkg2) + * + * @return common_error_type_e enum value + * + * @par Errors: + * + * @pre None. + * @post + * @see + * @remarks None. + * + * @par Sample Code: + * @code + * @endcode + */ +int pre_sync(int transport_type, int account_id, char *session_id, int server_flag, void **pre_sync_return_obj); + +/** + * @par Description: API to generate protocol specific msg + * + * Generate MSg which be considered maxMsgSize and maxObjSize + * + * @par Purpose: + * @par Typical use case: + * @par Method of function operation: + * @par Important notes: + * @param[in] sync_obj_s structure + * @param[in] int type, whether server is fmm server for calllog or not + * @param[out] msg + * @param[out] msg size + * + * @return common_error_type_e enum value + * + * @par Errors: + * + * @pre None. + * @post + * @see + * @remarks None. + * + * @par Sample Code: + * @code + * @endcode + */ +int generate_msg(void **sync_obj, int server_flag, char **msg, unsigned int *msg_size); + +/** + * @par Description: API to exchange protocol specific msg with server + * + * Exchange protocol specific msg(request and response) using header binding information with server + * + * @par Purpose: + * @par Typical use case: + * @par Method of function operation: + * @par Important notes: + * @param[in] int type, transport protocol type(http, obex etc) + * @param[in] string type, msg to send + * @param[in] unsigned int type, msg size + * @param[out] string type, receive msg + * @param[out] unsigned int type, receive msg size + * + * @return common_error_type_e enum value + * + * @par Errors: + * + * @pre None. + * @post + * @see + * @remarks None. + * + * @par Sample Code: + * @code + * @endcode + */ +int exchange_msg(int transport_type, char *send_msg, unsigned int send_msg_length, char **recv_msg, unsigned int *recv_msg_length); + +/** + * @par Description: API to process response msg from server + * + * Process response msg from server and convert to obj that return to Service Engine + * + * @par Purpose: + * @par Typical use case: + * @par Method of function operation: + * @par Important notes: + * @param[in] string type, recive msg from server + * @param[in] unsigned int type, receive msg size + * @param[in] int type, whether or not to end in pkg4 + * @param[out] sync_return_obj_s structure + * @param[out] int type, flag for finsih sync session + * + * @return common_error_type_e enum value + * + * @par Errors: + * + * @pre None. + * @post + * @see + * @remarks None. + * + * @par Sample Code: + * @code + * @endcode + */ +int process_recv_msg(char *recv_msg, unsigned int recv_msg_length, int only_from_client, void **sync_return_obj, int *is_finish); + +/** + * @par Description: API to free session_s structure and close connection + * + * This API for case that error or cancel occur in ServiceEngine so need to clean up resource which using in ServiceAdapter + * + * @par Purpose: + * @par Typical use case: + * @par Method of function operation: + * @par Important notes: + * @param[in] + * @param[out] + * + * @return + * + * @par Errors: + * + * @pre None. + * @post + * @see + * @remarks None. + * + * @par Sample Code: + * @code + * @endcode + */ +void clean_up_sa(); + +/** + * @par Description: API to process auto configure function + * + * + * @par Purpose: + * @par Typical use case: + * @par Method of function operation: + * @par Important notes: + * @param[in] string type, server ip + * @param[in] string type, id + * @param[in] string type, password + * @param[out] GList type, list of auto configure results + * + * @return common_error_type_e enum value + * + * @par Errors: + * + * @pre None. + * @post + * @see + * @remarks None. + * + * @par Sample Code: + * @code + * @endcode + */ +int auto_configure(char *addr, char *id, char *password, GList ** congifure); + +/** + * @par Description: API to check cancel status + * + * Cancel flag is set and if engine is going to process pkg 5 & 6 + * keep going until finish sync session + * + * + * @par Purpose: + * @par Typical use case: + * @par Method of function operation: + * @par Important notes: + * + * @return 1 means Do cancel + * 0 means Do not cancel + * + * @par Errors: + * + * @pre None. + * @post + * @see + * @remarks None. + * + * @par Sample Code: + * @code + * @endcode + */ +int check_cancel_status(); + +/** + * @par Description: API to suspend current sync session + * + * Send alert 224 to server and status if there are + * + * + * @par Purpose: + * @par Typical use case: + * @par Method of function operation: + * @par Important notes: + * @param[in] int type, transport Type(obex, FW_HTTP ...) + * @param[in] int type, account id + * + * @return common_error_type_e enum value + * + * @par Errors: + * + * @pre None. + * @post + * @see + * @remarks None. + * + * @par Sample Code: + * @code + * @endcode + */ +int suspend_sync(int transport_type, int account_id, int server_flag); + +/** + * @par Description: API to cancel connection during sync session + * + * + * + * @par Purpose: + * @par Typical use case: + * @par Method of function operation: + * @par Important notes: + * @param[in] int type, transport Type(obex, FW_HTTP ...) + * + * @return common_error_type_e enum value + * + * @par Errors: + * + * @pre None. + * @post + * @see + * @remarks None. + * + * @par Sample Code: + * @code + * @endcode + */ +int cancel_connection_sync_request(int transport_type); + +#endif /* SA_COMMON_INTERFACE_H_ */ |