You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by da...@apache.org on 2006/07/07 12:32:58 UTC

svn commit: r419862 - /webservices/axis2/trunk/c/woden/include/woden_ext_deserializer.h

Author: damitha
Date: Fri Jul  7 03:32:57 2006
New Revision: 419862

URL: http://svn.apache.org/viewvc?rev=419862&view=rev
Log:
Added a missing file

Added:
    webservices/axis2/trunk/c/woden/include/woden_ext_deserializer.h

Added: webservices/axis2/trunk/c/woden/include/woden_ext_deserializer.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_ext_deserializer.h?rev=419862&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_ext_deserializer.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_ext_deserializer.h Fri Jul  7 03:32:57 2006
@@ -0,0 +1,116 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * 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 WODEN_EXT_DESERIALIZER_H
+#define WODEN_EXT_DESERIALIZER_H
+
+/**
+ * @file woden_ext_deserializer.h
+ * @brief Axis2 Extension Deserializer Interface
+ * This interface represents a <ext_deserializer> XML element 
+ * information item. It declares the behaviour required to support 
+ * parsing, creating and manipulating a <ext_deserializer> element.
+ */
+
+#include <axis2_allocator.h>
+#include <axis2_env.h>
+#include <axis2_error.h>
+#include <axis2_string.h>
+#include <axis2_utils.h>
+#include <axis2_qname.h>
+#include <axis2_hash.h>
+#include <axiom_node.h>
+#include <woden.h>
+#include <woden_ext_registry.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_ext_deserializer woden_ext_deserializer_t;
+typedef struct woden_ext_deserializer_ops woden_ext_deserializer_ops_t;
+
+/** @defgroup woden_ext_deserializer Extension Deserializer
+  * @ingroup axis2_ext_deserializer
+  * @{
+  */
+
+struct woden_ext_deserializer_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *ext_deserializer,
+            const axis2_env_t *env);
+ 
+    woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *ext_deserializer,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    unmarshall) (
+            void *ext_deserializer,
+            const axis2_env_t *env,
+            axis2_char_t *parent_type,
+            void *parent,
+            axis2_qname_t *ext_type,
+            axiom_node_t *ext_el_node,
+            void *desc,
+            woden_ext_registry_t *ext_reg);
+
+};
+
+struct woden_ext_deserializer
+{
+    woden_ext_deserializer_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_ext_deserializer_t * AXIS2_CALL
+woden_ext_deserializer_create(
+        const axis2_env_t *env);
+
+/************************Woden C Internal Methods******************************/
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_ext_deserializer_resolve_methods(
+        woden_ext_deserializer_t *ext_deserializer,
+        const axis2_env_t *env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_EXT_DESERIALIZER_FREE(ext_deserializer, env) \
+      (((woden_ext_deserializer_t *) ext_deserializer)->ops->\
+         free (ext_deserializer, env))
+
+#define WODEN_EXT_DESERIALIZER_TYPE(ext_deserializer, env) \
+      (((woden_ext_deserializer_t *) ext_deserializer)->ops->\
+         type (ext_deserializer, env))
+
+#define WODEN_EXT_DESERIALIZER_UNMARSHALL(ext_deserializer, env, \
+        parent_type, parent, ext_type, ext_el_node, desc, ext_reg) \
+      (((woden_ext_deserializer_t *) ext_deserializer)->ops->\
+         unmarshall (ext_deserializer, env, parent_type, parent, ext_type, \
+             ext_el_node, desc, ext_reg))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_EXT_DESERIALIZER_H */



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org