| /* |
| * 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 AXIS2_WSDLPARSER_WRAPPER_H |
| #define AXIS2_WSDLPARSER_WRAPPER_H |
| |
| /** |
| * @file axis2_wsdl4c_parser.h |
| * @brief defines WSDL PARSER |
| */ |
| #include <axis2_array_list.h> |
| #include <axis2_allocator.h> |
| #include <axis2_env.h> |
| #include <axis2_error.h> |
| #ifdef __cplusplus |
| extern "C" |
| { |
| #endif |
| |
| /** |
| * @defgroup axis2 wsdl4c_parser |
| * @ingroup axis2_wsdl4c |
| * @{ |
| */ |
| |
| /** |
| * The various states of the Wsdl Parser |
| */ |
| enum |
| { |
| AXIS2_WSDL4C_PARSER_NONE , |
| AXIS2_WSDL4C_PARSER_START, |
| AXIS2_WSDL4C_PARSER_DEFINITION, |
| AXIS2_WSDL4C_PARSER_DOCUMENTATION, |
| AXIS2_WSDL4C_PARSER_ANNOTATION, |
| AXIS2_WSDL4C_PARSER_IMPORT, |
| AXIS2_WSDL4C_PARSER_SCHEMA, |
| AXIS2_WSDL4C_PARSER_TYPES, |
| AXIS2_WSDL4C_PARSER_MESSAGE, |
| AXIS2_WSDL4C_PARSER_PART, |
| AXIS2_WSDL4C_PARSER_PORT_TYPE, |
| AXIS2_WSDL4C_PARSER_OPERATION, |
| AXIS2_WSDL4C_PARSER_INPUT, |
| AXIS2_WSDL4C_PARSER_OUTPUT, |
| AXIS2_WSDL4C_PARSER_FAULT, |
| AXIS2_WSDL4C_PARSER_BINDING, |
| AXIS2_WSDL4C_PARSER_EXTENSIBILITY, |
| AXIS2_WSDL4C_PARSER_SERVICE, |
| AXIS2_WSDL4C_PARSER_PORT, |
| AXIS2_WSDL4C_PARSER_END |
| }; |
| |
| /** |
| * The default constructor for Wsdl Parser |
| * @param input stream for the wsdl file |
| * @param output stream for any error outputs |
| * @param schemaPath path to directory containing XML schema files |
| * |
| */ |
| void * |
| axis2_wsdl4c_parser_create(char* wsdl_file, char *schema_path); |
| |
| void |
| axis2_wsdl4c_parser_destroy(void *parser); |
| |
| /** |
| * set_schema_path |
| * Set path to location of XML schema files, used by parser. |
| */ |
| void |
| axis2_wsdl4c_parser_set_schema_path(void *parser, char *schema_path); |
| |
| /** |
| * get_next_element processes the next Wsdl ELement in the stream and |
| * returns the type of the root Wsdl element parsed. |
| * @return one of START,DEFINITION,DOCUMENTATION,ANNOTATION, |
| * TYPES,MESSAGE,PORT_TYPE,BINDING,SERVICE,IMPORT |
| */ |
| int |
| axis2_wsdl4c_parser_get_next_element(void *parser); |
| |
| /** |
| * get_event_type |
| * returns the type Wsdl element parsed. |
| * @return one of the Wsdl Event types |
| */ |
| int |
| axis2_wsdl4c_parser_get_event_type(void *parser); |
| |
| /** |
| * get_target_namespace |
| * @return target namespace of the wsdl document |
| */ |
| char * |
| axis2_wsdl4c_parser_get_namespace(void *parser); |
| |
| /** |
| * get_name |
| * @return name of the wsdl document |
| */ |
| char * |
| axis2_wsdl4c_parser_get_name(void *parser); |
| |
| /** |
| * get_documentation Returns the documentation string for the WSDL file |
| * This method must be called after <code>get_event_type</code> returns |
| * DOCUMENT |
| * @return documentation string . |
| */ |
| char * |
| axis2_wsdl4c_parser_get_documentation(void *parser); |
| |
| /** |
| * get_binding .This method must be called after |
| * <code>get_event_type</code> returns BINDING |
| * @return reference to the Binding element just parsed. |
| */ |
| void * |
| axis2_wsdl4c_parser_get_binding(void *parser); |
| |
| /** |
| * get_binding_q . |
| * @param Qname refering to the binding element |
| * @return reference to the Binding element |
| */ |
| void * |
| axis2_wsdl4c_parser_get_binding_q(void *parser, void *q); |
| |
| /** |
| * get_bindings |
| * @return iterator to a list of binding elements |
| */ |
| axis2_array_list_t * |
| axis2_wsdl4c_parser_get_bindings(void *parser); |
| |
| /** |
| * get_services |
| * @return iterator to a list of service elements |
| */ |
| axis2_array_list_t * |
| axis2_wsdl4c_parser_get_services(void *parser); |
| |
| /** |
| * get_service .This method must be called after |
| * <code>get_event_type</code> returns SERVICE |
| * @return reference to the Binding element just parsed. |
| */ |
| void * |
| axis2_wsdl4c_parser_get_service(void *parser); |
| |
| /** |
| * get_service. |
| * @param Qname refering to the service element |
| * @return reference to the Service element |
| */ |
| void * |
| axis2_wsdl4c_parser_get_service_a_q(void *parser, void *q); |
| |
| /** |
| * get_port_type .This method must be called after |
| * <code>get_event_type</code> returns PORT_TYPE |
| * @return reference to the port type element just parsed. |
| */ |
| void * |
| axis2_wsdl4c_parser_get_port_type(void *parser); |
| |
| /** |
| * get_port_type_q |
| * @param Qname refering to the port type element |
| * @return reference to the port type element |
| */ |
| void * |
| axis2_wsdl4c_parser_get_port_type_q(void *parser, void *q); |
| |
| /** |
| * get_port_types |
| * @return iterators to a container of port types |
| */ |
| axis2_array_list_t * |
| axis2_wsdl4c_parser_get_port_types(void *parser); |
| |
| /** |
| * get_operations |
| * @param Qname refering to the port type element |
| * @return Returns the array list of operations |
| */ |
| axis2_array_list_t * |
| axis2_wsdl4c_parser_get_operations(void *parser, void *port_type_qname); |
| |
| /** |
| * get_operation |
| * @param Qname refering to the port type element |
| * @param Qname refering to the operation element |
| * @return reference to the operation element |
| */ |
| void * |
| axis2_wsdl4c_parser_get_operation(void *parser, void *port_type_qname, void *q); |
| |
| /** |
| * get_message . |
| * This method must be called after |
| * <code>get_event_type</code> returns MESSAGE |
| * @return reference to the message element just parsed. |
| */ |
| void * |
| axis2_wsdl4c_parser_get_message(void *parser); |
| |
| /** |
| * get_message_q_q . |
| * @param Qname of the message element |
| * @return reference to the message element |
| */ |
| void * |
| axis2_wsdl4c_parser_get_message_a_q(void *parser, void *q); |
| |
| /** |
| * get_messages |
| * @return list of all messages parsed. |
| */ |
| void * |
| axis2_wsdl4c_parser_get_messages(void *parser); |
| |
| /** |
| * get_num_schemas |
| * @return number of schemas in the wsdl document |
| */ |
| int |
| axis2_wsdl4c_parser_get_num_schemas(void *parser); |
| |
| /** |
| * get_schema_parser |
| * @param target namespace of the schema |
| * @return pointer to the schema parser for the namespace |
| */ |
| void * |
| axis2_wsdl4c_parser_get_schema_parser_a_namespc(void *parser, |
| char *target_namespace); |
| |
| void * |
| axis2_wsdl4c_parser_get_schema_parser_a_schema_id(void *parser, |
| int schema_id); |
| |
| /** |
| * to query the status of wsdl parsing |
| */ |
| axis2_bool_t |
| axis2_wsdl4c_parser_status(void *parser); |
| |
| char * |
| axis2_wsdl4c_parser_wsdl_path(void *parser); |
| |
| /** |
| * add_extensibility_handler |
| * Registers an extensibility handler |
| * for Wsdl extensibility namespaces |
| * @param pointer to the instance of Wsdl Extension |
| */ |
| void |
| axis2_wsdl4c_parser_add_extensibility_handler(void *parser, void *ext); |
| |
| /** |
| * get_extensibility_handler_q_ns returns theextensibility handler |
| * for the namespaces |
| * @param namespace |
| */ |
| void * |
| axis2_wsdl4c_parser_get_extensibility_handler_a_ns(void *parser, const char *ns); |
| |
| /** |
| * Return the extensibility handler for the given id. |
| * Wsdl Parser only stores ids for the extensibilit elements. |
| */ |
| void * |
| axis2_wsdl4c_parser_get_extensibility_handler_a_ext_id(void *parser, |
| int ext_id); |
| |
| /** |
| * set_feature enables one of the features of the parser |
| * @return true or false |
| */ |
| /*bool |
| axis2_wsdl4c_parser_set_feature(void *parser, int feature_id) |
| { |
| WsdlParser *wp = (WsdlParser *) parser; |
| return wp->setFeature(feature_id); |
| }*/ |
| |
| /** @} */ |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| #endif /* AXIS2_WSDLPARSER_WRAPPER_H */ |