diff options
Diffstat (limited to 'include/service-adapter/sa_session.h')
-rwxr-xr-x | include/service-adapter/sa_session.h | 277 |
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_ */ |