summaryrefslogtreecommitdiff
path: root/include/serviceadapter/protocolbinder/syncml_protocol_binder.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/serviceadapter/protocolbinder/syncml_protocol_binder.h')
-rwxr-xr-xinclude/serviceadapter/protocolbinder/syncml_protocol_binder.h310
1 files changed, 310 insertions, 0 deletions
diff --git a/include/serviceadapter/protocolbinder/syncml_protocol_binder.h b/include/serviceadapter/protocolbinder/syncml_protocol_binder.h
new file mode 100755
index 0000000..22d4471
--- /dev/null
+++ b/include/serviceadapter/protocolbinder/syncml_protocol_binder.h
@@ -0,0 +1,310 @@
+/*
+ * oma-dm-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.
+ */
+
+#ifndef OMA_DS_PROTOCOL_BINDER_H_
+#define OMA_DS_PROTOCOL_BINDER_H_
+
+/*sync-agent*/
+#include <sync_agent.h>
+
+/*dm-agent*/
+#include "serviceadapter/protocolbinder/syncml_def.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_syncml_binder_function_set(sync_agent_pb_protocol_binder_function_set_s ** pBinder_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_syncml_binder_function_set(sync_agent_pb_protocol_binder_function_set_s * pBinder_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 *syncml_binder_init(sync_agent_pb_protocol_binder_info_s * pBinder, sync_agent_pb_encoding_e enc, bool use_strtbl, bool use_flow_mode, sync_agent_pb_protocol_binder_function_set_s * pBinder_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 syncml_binder_append(sync_agent_pb_protocol_binder_info_s * pBinder, OMA_DM_Protocol_Element protocol_element, Content_Ptr pContent);
+
+/**
+ * @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 syncml_binder_terminate(sync_agent_pb_protocol_binder_info_s * pBinder);
+
+/**
+ * @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 syncml_binder_get_stream(sync_agent_pb_protocol_binder_info_s * pBinder, 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 syncml_binder_get_stream_size(sync_agent_pb_protocol_binder_info_s * pBinder, 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 syncml_binder_get_encoding(sync_agent_pb_protocol_binder_info_s * pBinder, 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_syncml_binder_init(char *byte_stream,
+ unsigned int byte_stream_len, sync_agent_pb_decoding_e dec, sync_agent_pb_protocol_binder_function_set_s * pBinder_function_set, void *user_data, sync_agent_pb_protocol_binder_reverse_info_s ** ppBinder);
+
+/**
+ * @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_syncml_binder_next(sync_agent_pb_protocol_binder_reverse_info_s * pBinder, Protocol_Element * protocol_element, char **protocol_element_name, Content_Ptr * pContent);
+
+#endif /* OMA_DS_PROTOCOL_BINDER_H_ */