summaryrefslogtreecommitdiff
path: root/include/service-adapter/sa_session.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/service-adapter/sa_session.h')
-rwxr-xr-xinclude/service-adapter/sa_session.h277
1 files changed, 277 insertions, 0 deletions
diff --git a/include/service-adapter/sa_session.h b/include/service-adapter/sa_session.h
new file mode 100755
index 0000000..89efe2b
--- /dev/null
+++ b/include/service-adapter/sa_session.h
@@ -0,0 +1,277 @@
+/*
+ * 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_Session.h
+ * @version 0.1
+ * @brief This file is the header file of interface of Session structure
+ */
+
+#ifndef SA_SESSION_H_
+#define SA_SESSION_H_
+
+#include "service-adapter/sa_define.h"
+
+/**
+ * @par Description: API to create session_s structure
+ * This API can be used to create session_s structure
+ *
+ * @par Purpose:
+ * @par Typical use case:
+ * @par Method of function operation:
+ * @par Important notes:
+ * @param[in] enum type, protocol version(VERSION_UNKNOWN, VERSION_10, VERSION_11, VERSION_12);
+ * @param[in] enum type, protocol type(PROTOCOL_TYPE_UNKNOWN , PROTOCOL_TYPE_DS)
+ * @param[in] int type, account id
+ * @param[in] int type, session id
+ * @param[in] string type, source uri(server ip)
+ * @param[in] string type, target uri(client identifer)
+ * @param[out] session_s structure
+ *
+ * @return ERROR_INTERNAL_OK on success
+ * ERROR_INTERNAL_NO_MEMORY on error
+ *
+ * @par Errors:
+ *
+ * @pre None.
+ * @post
+ * @see
+ * @remarks None.
+ *
+ * @par Sample Code:
+ * @code
+ * @endcode
+ */
+sa_error_type_e create_session(protocol_version_e protocol_version, protocol_type_e protocol_type, int account_id, char *sess_id, location_s * source_location, location_s * target_location, session_s ** session);
+
+/**
+ * @par Description: API to free session_s structure
+ * This API can be used to free session_s structure
+ *
+ * @par Purpose:
+ * @par Typical use case:
+ * @par Method of function operation:
+ * @par Important notes:
+ * @param[in] session_s structure
+ *
+ * @return
+ *
+ * @par Errors:
+ *
+ * @pre None.
+ * @post
+ * @see
+ * @remarks None.
+ *
+ * @par Sample Code:
+ * @code
+ * @endcode
+ */
+void free_session(session_s * session);
+
+/**
+ * @par Description: API to set cred_s structure in session_s structure
+ * This API can be used to set cred_s structure in session_s structure
+ *
+ * @par Purpose:
+ * @par Typical use case:
+ * @par Method of function operation:
+ * @par Important notes:
+ * @param[in] session_s structure
+ * @param[in] cred_s structure
+ *
+ * @return
+ *
+ * @par Errors:
+ *
+ * @pre None.
+ * @post
+ * @see
+ * @remarks None.
+ *
+ * @par Sample Code:
+ * @code
+ * @endcode
+ */
+void set_session_cred(session_s * session, cred_s * cred);
+
+/**
+ * @par Description: API to set devinf_s structure in session_s structure
+ * This API can be used to set devinf_s structure in session_s structure
+ *
+ * @par Purpose:
+ * @par Typical use case:
+ * @par Method of function operation:
+ * @par Important notes:
+ * @param[in] session_s structure
+ * @param[in] devinf_s structure
+ *
+ * @return
+ *
+ * @par Errors:
+ *
+ * @pre None.
+ * @post
+ * @see
+ * @remarks None.
+ *
+ * @par Sample Code:
+ * @code
+ * @endcode
+ */
+void set_session_devinf(session_s * session, devinf_s * devInf);
+
+/**
+ * @par Description: API to create command_status_s structure
+ * This API can be used to set devinf_s structure in session_s structure
+ *
+ * @par Purpose:
+ * @par Typical use case:
+ * @par Method of function operation:
+ * @par Important notes:
+ * @param[in] unsigned int type, msg id
+ * @param[in] unsigned int type, cmd id
+ * @param[out] command_status_s structure
+ *
+ * @return ERROR_INTERNAL_OK on success
+ * ERROR_INTERNAL_NO_MEMORY on error
+ * @par Errors:
+ *
+ * @pre None.
+ * @post
+ * @see
+ * @remarks None.
+ *
+ * @par Sample Code:
+ * @code
+ * @endcode
+ */
+sa_error_type_e create_command_status(unsigned int msg_id, unsigned int cmdID, command_status_s ** command_status);
+
+/**
+ * @par Description: API to process sync_hdr_s structure from server
+ * This API manage responseURI
+ * set server info in session_s structure
+ * check header credential
+ * create Status structure for header
+ *
+ * @par Purpose:
+ * @par Typical use case:
+ * @par Method of function operation:
+ * @par Important notes:
+ * @param[in] session_s structure
+ * @param[in] sync_hdr_s structure
+ *
+ * @return ERROR_INTERNAL_OK on success
+ * ERROR_INTERNAL_NO_MEMORY on error
+ * @par Errors:
+ *
+ * @pre None.
+ * @post
+ * @see
+ * @remarks None.
+ *
+ * @par Sample Code:
+ * @code
+ * @endcode
+ */
+sa_error_type_e receive_header(session_s * session, sync_hdr_s * header);
+
+/**
+ * @par Description: API to process list of status_s structure from server
+ * This API check credential status
+ * process Status structure for each type
+ * create AppliedStatus structure for passing to ServiceEngine
+ *
+ * @par Purpose:
+ * @par Typical use case:
+ * @par Method of function operation:
+ * @par Important notes:
+ * @param[in] session_s structure
+ * @param[in] GList type, list of status_s structure
+ * @param[out] GList type, list of applied_status_s structure
+ *
+ * @return ERROR_INTERNAL_OK on success
+ * ERROR_INTERNAL_ERROR, ERROR_SERVER_FAILURE, ERROR_INTERNAL_BUSY_SIGNALING on error
+ * @par Errors:
+ *
+ * @pre None.
+ * @post
+ * @see
+ * @remarks None.
+ *
+ * @par Sample Code:
+ * @code
+ * @endcode
+ */
+sa_error_type_e receive_statuses(session_s * session, GList * receive_status, GList ** return_status);
+
+/**
+ * @par Description: API to process list of command_s structure from server
+ * This API check credential status
+ * process command_ structure for each type
+ * create changed_datastore_s structure for passing to ServiceEngine
+ *
+ * @par Purpose:
+ * @par Typical use case:
+ * @par Method of function operation:
+ * @par Important notes:
+ * @param[in] session structure
+ * @param[in] GList type, list of command_s structure
+ * @param[in] whether auto configure or not
+ * @param[out] GList type, list of changed_datastore_s structure
+ *
+ * @return ERROR_INTERNAL_OK on success
+ * ERROR_INTERNAL_ERROR, ERROR_INTERNAL_NO_MEMORY, ERROR_INTERNAL_NOT_DEFINED on error
+ * @par Errors:
+ *
+ * @pre None.
+ * @post
+ * @see
+ * @remarks None.
+ *
+ * @par Sample Code:
+ * @code
+ * @endcode
+ */
+sa_error_type_e receive_commands(session_s * session, GList * receive_command, bool auto_config, GList ** return_datastore);
+
+/**
+ * @par Description: API to reset cmd id(1) in session
+ *
+ * @par Purpose:
+ * @par Typical use case:
+ * @par Method of function operation:
+ * @par Important notes:
+ * @param[in] session_s structure
+ *
+ * @return
+ *
+ * @par Errors:
+ *
+ * @pre None.
+ * @post
+ * @see
+ * @remarks None.
+ *
+ * @par Sample Code:
+ * @code
+ * @endcode
+ */
+void reset_cmd_id_session(session_s * session);
+
+#endif /* SE_SESSION_H_ */