diff options
Diffstat (limited to 'include/service-adapter/protocol-binder/oma_ds_protocol_binder.h')
-rwxr-xr-x | include/service-adapter/protocol-binder/oma_ds_protocol_binder.h | 314 |
1 files changed, 314 insertions, 0 deletions
diff --git a/include/service-adapter/protocol-binder/oma_ds_protocol_binder.h b/include/service-adapter/protocol-binder/oma_ds_protocol_binder.h new file mode 100755 index 0000000..ab25ad2 --- /dev/null +++ b/include/service-adapter/protocol-binder/oma_ds_protocol_binder.h @@ -0,0 +1,314 @@ +/* + * 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. + */ + +/** + * @oma_ds_protocol_binder.h + * @version 0.1 + * @brief This file is the header file of interface of protocol binder + */ + +#ifndef OMA_DS_PROTOCOL_BINDER_H_ +#define OMA_DS_PROTOCOL_BINDER_H_ + +#include <sync_agent.h> +#include "service-adapter/protocol-binder/oma_ds_protocol_binder_definition.h" + +/** + * @par Description: API to Initialize protocol binder function set + * + * + * @par Purpose: + * @par Typical use case: + * @par Method of function operation: + * @par Important notes: + * @param[in] sync_agent_pb_protocol_binder_function_set_s structure + * @param[out] + * + * @return sync_agent_pb_error_e type + * + * @par Errors: + * + * @pre None. + * @post + * @see + * @remarks None. + * + * @par Sample Code: + * @code + * @endcode + */ +sync_agent_pb_error_e init_oma_ds_1_2_binder_function_set(sync_agent_pb_protocol_binder_function_set_s ** binder_function_set); + +/** + * @par Description: API to free sync_agent_pb_protocol_binder_function_set_s structure + * + * + * @par Purpose: + * @par Typical use case: + * @par Method of function operation: + * @par Important notes: + * @param[in] sync_agent_pb_protocol_binder_function_set_s structure + * @param[out] + * + * @return + * + * @par Errors: + * + * @pre None. + * @post + * @see + * @remarks None. + * + * @par Sample Code: + * @code + * @endcode + */ +void free_oma_ds_1_2_binder_function_set(sync_agent_pb_protocol_binder_function_set_s * binder_function_set); + +/** + * @par Description: API to Initialize protocol binder + * + * + * @par Purpose: + * @par Typical use case: + * @par Method of function operation: + * @par Important notes: + * @param[in] sync_agent_pb_protocol_binder_info_s structure + * @param[in] enum type, sync_agent_pb_encoding_e(SYNC_AGENT_PB_ENCODING_XML, SYNC_AGENT_PB_ENCODING_WBXML_10, SYNC_AGENT_PB_ENCODING_WBXML_11, SYNC_AGENT_PB_ENCODING_WBXML_12, SYNC_AGENT_PB_ENCODING_WBXML_13) + * @param[in] boolean type, whether encode xml header or not + * @param[in] boolean type, whether use string table or not + * @param[in] boolean type, whether protocol is anonymous or not + * @param[in] boolean type, whether use flow mode or not + * @param[in] boolean type, whether use textual public id or not + * @param[in] sync_agent_pb_protocol_binder_function_set_s structure + * @param[out] + * + * @return sync_agent_pb_protocol_binder_info_s on success + * NULL on error + * + * @par Errors: + * + * @pre None. + * @post + * @see + * @remarks None. + * + * @par Sample Code: + * @code + * @endcode + */ +sync_agent_pb_protocol_binder_info_s *oma_ds_1_2_binder_init(sync_agent_pb_protocol_binder_info_s * binder, sync_agent_pb_encoding_e enc, bool encode_xml_header, + bool use_strtbl, bool produce_anonymous, bool use_flow_mode, bool text_public_id, sync_agent_pb_protocol_binder_function_set_s * binder_function_set); + +/** + * @par Description: API to append specific element to WBXML tree + * + * + * @par Purpose: + * @par Typical use case: + * @par Method of function operation: + * @par Important notes: + * @param[in] sync_agent_pb_protocol_binder_info_s structure + * @param[in] enum type, protocol element + * @param[in] content(structure to append) + * @param[out] + * + * @return SYNC_AGENT_PB_RETURN_OK on success + * others on error + * + * @par Errors: + * + * @pre None. + * @post + * @see + * @remarks None. + * + * @par Sample Code: + * @code + * @endcode + */ +sync_agent_pb_error_e oma_ds_1_2_binder_append(sync_agent_pb_protocol_binder_info_s * binder, oma_ds_protocol_element_e protocol_element, Content_Ptr content); + +/** + * @par Description: API to terminate sync_agent_pb_protocol_binder_info_s structure + * + * + * @par Purpose: + * @par Typical use case: + * @par Method of function operation: + * @par Important notes: + * @param[in] sync_agent_pb_protocol_binder_info_s structure + * @param[out] + * + * @return + * + * @par Errors: + * + * @pre None. + * @post + * @see + * @remarks None. + * + * @par Sample Code: + * @code + * @endcode + */ +void oma_ds_1_2_binder_terminate(sync_agent_pb_protocol_binder_info_s * binder); + +/** + * @par Description: API to get stream + * + * + * @par Purpose: + * @par Typical use case: + * @par Method of function operation: + * @par Important notes: + * @param[in] sync_agent_pb_protocol_binder_info_s structure + * @param[out] string type, stream from WBXML tree + * @param[out] unsigned int type, size of stream + * + * @return SYNC_AGENT_PB_RETURN_OK on success + * others on error + * + * @par Errors: + * + * @pre None. + * @post + * @see + * @remarks None. + * + * @par Sample Code: + * @code + * @endcode + */ +sync_agent_pb_error_e oma_ds_1_2_binder_get_stream(sync_agent_pb_protocol_binder_info_s * binder, char **byte_stream, unsigned int *byte_stream_size); + +/** + * @par Description: API to get stream size + * + * + * @par Purpose: + * @par Typical use case: + * @par Method of function operation: + * @par Important notes: + * @param[in] sync_agent_pb_protocol_binder_info_s structure + * @param[out] unsigned int type, size of stream + * + * @return SYNC_AGENT_PB_RETURN_OK on success + * others on error + * + * @par Errors: + * + * @pre None. + * @post + * @see + * @remarks None. + * + * @par Sample Code: + * @code + * @endcode + */ +sync_agent_pb_error_e oma_ds_1_2_binder_get_stream_size(sync_agent_pb_protocol_binder_info_s * binder, unsigned int *byte_stream_size); + +/** + * @par Description: API to get encoding type + * + * + * @par Purpose: + * @par Typical use case: + * @par Method of function operation: + * @par Important notes: + * @param[in] sync_agent_pb_protocol_binder_info_s structure + * @param[out] enum type, sync_agent_pb_encoding_e(SYNC_AGENT_PB_ENCODING_XML, SYNC_AGENT_PB_ENCODING_WBXML_10, SYNC_AGENT_PB_ENCODING_WBXML_11, SYNC_AGENT_PB_ENCODING_WBXML_12, SYNC_AGENT_PB_ENCODING_WBXML_13) + * + * @return SYNC_AGENT_PB_RETURN_OK on success + * others on error + * + * @par Errors: + * + * @pre None. + * @post + * @see + * @remarks None. + * + * @par Sample Code: + * @code + * @endcode + */ +sync_agent_pb_error_e oma_ds_1_2_binder_get_encoding(sync_agent_pb_protocol_binder_info_s * binder, sync_agent_pb_encoding_e * enc); + +/** + * @par Description: API to Initialize reverse protocol binder + * + * + * @par Purpose: + * @par Typical use case: + * @par Method of function operation: + * @par Important notes: + * @param[in] string type, WBXML stream to parse + * @param[in] unsigned int type, size of stream + * @param[in] enum type, decoding(SYNC_AGENT_PB_DECODING_XML, SYNC_AGENT_PB_DECODING_WBXML) + * @param[in] user data + * @param[out] sync_agent_pb_protocol_binder_reverse_info_s structure + * + * @return SYNC_AGENT_PB_RETURN_OK on success + * others on error + * + * @par Errors: + * + * @pre None. + * @post + * @see + * @remarks None. + * + * @par Sample Code: + * @code + * @endcode + */ +sync_agent_pb_error_e reverse_oma_ds_1_2_binder_init(char *byte_stream, + unsigned int byte_stream_len, sync_agent_pb_decoding_e dec, sync_agent_pb_protocol_binder_function_set_s * binder_function_set, void *user_data, sync_agent_pb_protocol_binder_reverse_info_s ** binder); + +/** + * @par Description: API to parse and get next contents + * + * + * @par Purpose: + * @par Typical use case: + * @par Method of function operation: + * @par Important notes: + * @param[in] sync_agent_pb_protocol_binder_reverse_info_s structure + * @param[out] protocol element + * @param[out] string type, protocol element + * @param[out] parsed contents(defined structure) + * + * @return SYNC_AGENT_PB_RETURN_OK on success + * others on error + * + * @par Errors: + * + * @pre None. + * @post + * @see + * @remarks None. + * + * @par Sample Code: + * @code + * @endcode + */ +sync_agent_pb_error_e reverse_oma_ds_1_2_binder_next(sync_agent_pb_protocol_binder_reverse_info_s * binder, Protocol_Element * protocol_element, char **protocol_element_name, Content_Ptr * content); + +#endif /* OMA_DS_PROTOCOL_BINDER_H_ */ |