summaryrefslogtreecommitdiff
path: root/include/service-adapter/sa_common_interface.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/service-adapter/sa_common_interface.h')
-rwxr-xr-xinclude/service-adapter/sa_common_interface.h285
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_ */