You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by sa...@apache.org on 2007/04/01 04:10:17 UTC
svn commit: r524508 - in /webservices/axis2/trunk/c/axiom:
include/axiom_xml_reader.h src/parser/libxml2/libxml2_reader_wrapper.c
Author: samisa
Date: Sat Mar 31 19:10:17 2007
New Revision: 524508
URL: http://svn.apache.org/viewvc?view=rev&rev=524508
Log:
Made ops struct static
Modified:
webservices/axis2/trunk/c/axiom/include/axiom_xml_reader.h
webservices/axis2/trunk/c/axiom/src/parser/libxml2/libxml2_reader_wrapper.c
Modified: webservices/axis2/trunk/c/axiom/include/axiom_xml_reader.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/include/axiom_xml_reader.h?view=diff&rev=524508&r1=524507&r2=524508
==============================================================================
--- webservices/axis2/trunk/c/axiom/include/axiom_xml_reader.h (original)
+++ webservices/axis2/trunk/c/axiom/include/axiom_xml_reader.h Sat Mar 31 19:10:17 2007
@@ -307,7 +307,7 @@
*/
struct axiom_xml_reader
{
- axiom_xml_reader_ops_t *ops;
+ const axiom_xml_reader_ops_t *ops;
};
/**
Modified: webservices/axis2/trunk/c/axiom/src/parser/libxml2/libxml2_reader_wrapper.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/src/parser/libxml2/libxml2_reader_wrapper.c?view=diff&rev=524508&r1=524507&r2=524508
==============================================================================
--- webservices/axis2/trunk/c/axiom/src/parser/libxml2/libxml2_reader_wrapper.c (original)
+++ webservices/axis2/trunk/c/axiom/src/parser/libxml2/libxml2_reader_wrapper.c Sat Mar 31 19:10:17 2007
@@ -23,11 +23,8 @@
#include <string.h>
#include <axutil_string.h>
-/*************************** Function Prototypes ******************************/
-
#define AXIS2_ATTR_NS_MAX 20
-
int AXIS2_CALL
axis2_libxml2_reader_wrapper_next(axiom_xml_reader_t *parser,
const axutil_env_t *env);
@@ -134,11 +131,6 @@
static int
axis2_libxml2_reader_wrapper_close_input_callback(void *ctx);
-static void
-axis2_libxml2_reader_wrapper_init_ops(axiom_xml_reader_t *reader);
-
-/************* End function parameters , axis2_libxml2_reader_wrapper_impl_t struct ***/
-
typedef struct axis2_libxml2_reader_wrapper_impl_t
{
axiom_xml_reader_t parser;
@@ -155,8 +147,6 @@
int namespace_map[AXIS2_ATTR_NS_MAX];
int attribute_map[AXIS2_ATTR_NS_MAX];
- /******************************************/
- /* read callback function*/
AXIS2_READ_INPUT_CALLBACK read_input_callback;
@@ -165,13 +155,31 @@
}
axis2_libxml2_reader_wrapper_impl_t;
-/****************** End struct , Macro *****************************************/
-
#define AXIS2_INTF_TO_IMPL(p) ((axis2_libxml2_reader_wrapper_impl_t*)p)
#define AXIS2_IMPL_TO_INTF(p) &(p->parser)
-
-/********************* End Macro , event_map init function **********************/
+static const axiom_xml_reader_ops_t axiom_xml_reader_ops_var = {
+ axis2_libxml2_reader_wrapper_next,
+ axis2_libxml2_reader_wrapper_free,
+ axis2_libxml2_reader_wrapper_get_attribute_count,
+ axis2_libxml2_reader_wrapper_get_attribute_name_by_number,
+ axis2_libxml2_reader_wrapper_get_attribute_prefix_by_number,
+ axis2_libxml2_reader_wrapper_get_attribute_value_by_number,
+ axis2_libxml2_reader_wrapper_get_attribute_namespace_by_number,
+ axis2_libxml2_reader_wrapper_get_value,
+ axis2_libxml2_reader_wrapper_get_namespace_count,
+ axis2_libxml2_reader_wrapper_get_namespace_uri_by_number,
+ axis2_libxml2_reader_wrapper_get_namespace_prefix_by_number,
+ axis2_libxml2_reader_wrapper_get_prefix,
+ axis2_libxml2_reader_wrapper_get_name,
+ axis2_libxml2_reader_wrapper_get_pi_target,
+ axis2_libxml2_reader_wrapper_get_pi_data,
+ axis2_libxml2_reader_wrapper_get_dtd,
+ axis2_libxml2_reader_wrapper_xml_free,
+ axis2_libxml2_reader_wrapper_get_char_set_encoding,
+ axis2_libxml2_reader_wrapper_get_namespace_uri,
+ axis2_libxml2_reader_wrapper_get_namespace_uri_by_prefix
+};
static axis2_status_t
axis2_libxml2_reader_wrapper_init_map(axis2_libxml2_reader_wrapper_impl_t *parser)
@@ -224,53 +232,6 @@
return AXIS2_FAILURE;
}
-static void
-axis2_libxml2_reader_wrapper_init_ops(axiom_xml_reader_t *parser)
-{
- parser->ops->free =
- axis2_libxml2_reader_wrapper_free;
- parser->ops->next =
- axis2_libxml2_reader_wrapper_next;
- parser->ops->xml_free =
- axis2_libxml2_reader_wrapper_xml_free;
- parser->ops->get_attribute_count =
- axis2_libxml2_reader_wrapper_get_attribute_count;
- parser->ops->get_attribute_name_by_number =
- axis2_libxml2_reader_wrapper_get_attribute_name_by_number;
- parser->ops->get_attribute_value_by_number =
- axis2_libxml2_reader_wrapper_get_attribute_value_by_number;
- parser->ops->get_attribute_namespace_by_number =
- axis2_libxml2_reader_wrapper_get_attribute_namespace_by_number;
- parser->ops->get_attribute_prefix_by_number =
- axis2_libxml2_reader_wrapper_get_attribute_prefix_by_number;
- parser->ops->get_value =
- axis2_libxml2_reader_wrapper_get_value;
- parser->ops->get_prefix =
- axis2_libxml2_reader_wrapper_get_prefix;
- parser->ops->get_name =
- axis2_libxml2_reader_wrapper_get_name;
- parser->ops->get_namespace_count =
- axis2_libxml2_reader_wrapper_get_namespace_count;
- parser->ops->get_namespace_prefix_by_number =
- axis2_libxml2_reader_wrapper_get_namespace_prefix_by_number;
- parser->ops->get_namespace_uri_by_number =
- axis2_libxml2_reader_wrapper_get_namespace_uri_by_number;
- parser->ops->get_pi_target =
- axis2_libxml2_reader_wrapper_get_pi_target;
- parser->ops->get_pi_data =
- axis2_libxml2_reader_wrapper_get_pi_data;
- parser->ops->get_dtd =
- axis2_libxml2_reader_wrapper_get_dtd;
- parser->ops->get_char_set_encoding =
- axis2_libxml2_reader_wrapper_get_char_set_encoding;
- parser->ops->get_namespace_uri =
- axis2_libxml2_reader_wrapper_get_namespace_uri;
- parser->ops->get_namespace_uri_by_prefix =
- axis2_libxml2_reader_wrapper_get_namespace_uri_by_prefix;
-}
-
-
-/*******************************************************************************/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_xml_reader_init()
{
@@ -285,7 +246,6 @@
return AXIS2_SUCCESS;
}
-/*******************************************************************************/
AXIS2_EXTERN axiom_xml_reader_t *AXIS2_CALL
axiom_xml_reader_create_for_file(const axutil_env_t *env,
char *filename,
@@ -320,24 +280,10 @@
axis2_libxml2_reader_wrapper_init_map(wrapper_impl);
- wrapper_impl->parser.ops = NULL;
- wrapper_impl->parser.ops = (axiom_xml_reader_ops_t*)AXIS2_MALLOC(env->allocator,
- sizeof(axiom_xml_reader_ops_t));
-
- if (!(wrapper_impl->parser.ops))
- {
- xmlFreeTextReader(wrapper_impl->reader);
- AXIS2_FREE(env->allocator, wrapper_impl);
- AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
- return NULL;
- }
- /* ops */
- axis2_libxml2_reader_wrapper_init_ops(&(wrapper_impl->parser));
+ wrapper_impl->parser.ops = &axiom_xml_reader_ops_var;
return &(wrapper_impl->parser);
}
-/************** create function for io callback function **********************/
-
AXIS2_EXTERN axiom_xml_reader_t *AXIS2_CALL
axiom_xml_reader_create_for_io(const axutil_env_t *env,
AXIS2_READ_INPUT_CALLBACK read_input_callback,
@@ -393,23 +339,10 @@
axis2_libxml2_reader_wrapper_init_map(wrapper_impl);
- wrapper_impl->parser.ops = NULL;
- wrapper_impl->parser.ops = (axiom_xml_reader_ops_t*)AXIS2_MALLOC(env->allocator,
- sizeof(axiom_xml_reader_ops_t));
-
- if (!(wrapper_impl->parser.ops))
- {
- xmlFreeTextReader(wrapper_impl->reader);
- AXIS2_FREE(env->allocator, wrapper_impl);
- AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
- return NULL;
- }
-
- axis2_libxml2_reader_wrapper_init_ops(&(wrapper_impl->parser));
+ wrapper_impl->parser.ops = &axiom_xml_reader_ops_var;
return &(wrapper_impl->parser);
}
-/***************** create function for character buffer or xml doc ************************/
AXIS2_EXTERN axiom_xml_reader_t *AXIS2_CALL
axiom_xml_reader_create_for_memory(const axutil_env_t *env,
void *container,
@@ -468,19 +401,7 @@
axis2_libxml2_reader_wrapper_init_map(wrapper_impl);
- wrapper_impl->parser.ops = NULL;
- wrapper_impl->parser.ops = (axiom_xml_reader_ops_t*)AXIS2_MALLOC(env->allocator,
- sizeof(axiom_xml_reader_ops_t));
-
- if (!(wrapper_impl->parser.ops))
- {
- xmlFreeTextReader(wrapper_impl->reader);
- AXIS2_FREE(env->allocator, wrapper_impl);
- AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
- return NULL;
- }
-
- axis2_libxml2_reader_wrapper_init_ops(&(wrapper_impl->parser));
+ wrapper_impl->parser.ops = &axiom_xml_reader_ops_var;
return &(wrapper_impl->parser);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org