it_bus_config/mime_wsdl_part.h

00001 #ifndef _MIME_WSDL_PART_H_
00002 #define _MIME_WSDL_PART_H_
00003 
00004 #if !defined(IT_SOAP_API)
00005 #if defined(IT_SOAP_API_EXPORT)
00006 #define IT_SOAP_API    IT_DECLSPEC_EXPORT
00007 #else
00008 #define IT_SOAP_API    IT_DECLSPEC_IMPORT
00009 #endif
00010 #endif
00011 
00012 #ifndef IT_MINIMISE_INCLUDES
00013 #include <it_wsdl/wsdl_binding_input.h>
00014 #include <it_wsdl/wsdl_binding_output.h>
00015 #include <it_bus_config/mime_wsdl_content.h>
00016 #include <it_bus_config/soap_wsdl_body.h>
00017 #endif
00018 
00019 #include <it_dsa/vector.h>
00020 #include <it_wsdl/wsdl_extension_element.h>
00021 #include <it_bus_pdk/xml_node.h>
00022 
00023 
00024 namespace IT_Bus
00025 {
00026     class SoapWSDLBody;
00027     class MimeWSDLContent;
00028     class IT_SOAP_API MimeWSDLPart
00029       : public IT_WSDL::WSDLExtensionElement, public XMLNode
00030     {
00031       public:
00032 
00033         MimeWSDLPart(
00034             IT_WSDL::WSDLExtensibleNode* parent
00035         );
00036 
00037         ~MimeWSDLPart();
00038 
00039         bool
00040         parse(
00041             const XMLIterator&         element_iterator,
00042             const IT_Bus::XMLNode&     element,
00043             IT_WSDL::WSDLErrorHandler& error_handler
00044         );
00045 
00046         bool
00047         accept_element(
00048             const XMLIterator& element_iterator,
00049             const XMLNode&     element
00050         );
00051 
00052         void
00053         read_wsdl_extension(
00054             IT_Bus::ComplexTypeReader& /* reader */
00055         ) throw((IT_Bus::IOException));
00056 
00057         void
00058         write_wsdl_extension(
00059             const IT_Bus::QName&        /* element_name */,
00060             IT_Bus::ComplexTypeWriter&  /* writer */
00061         ) const throw((IT_Bus::IOException));
00062 
00063         void
00064         write(
00065             IT_Bus::XMLOutputStream& stream
00066         ) const throw((IT_Bus::IOException));
00067 
00068         void
00069         write(
00070             const IT_Bus::QName&       /*element_name*/,
00071             IT_Bus::ComplexTypeWriter& /*writer*/
00072         ) const throw((IT_Bus::SerializationException));
00073 
00077         void
00078         write_attributes(
00079             IT_Bus::XMLOutputStream&  stream
00080         ) const throw((IOException));
00081  
00082         const IT_Bus::QName&
00083         get_element_name() const;
00084 
00085         const IT_Bus::String&
00086         get_target_namespace() const;
00087 
00088         IT_WSDL::WSDLExtensionFactory&
00089         get_extension_factory();
00090 
00091         const SoapWSDLBody*
00092         get_soap_body() const;
00093 
00094         const MimeWSDLContent*
00095         get_content(
00096             const String& part_name
00097         ) const;
00098 
00099         const IT_Bus::QName&
00100         get_type() const;
00101 
00102         static const IT_Bus::QName&
00103         get_static_type();
00104 
00105      private:
00106       
00107         MimeWSDLPart&
00108         operator = (
00109             const MimeWSDLPart& rhs
00110         );
00111 
00112         MimeWSDLPart(
00113             const MimeWSDLPart& rhs
00114         );
00115 
00116         IT_WSDL::WSDLExtensibleNode*               m_wsdl_extensible_node;
00117         IT_Vector<IT_WSDL::WSDLExtensionElement*>  m_extension_elements;   
00118         IT_WSDL::WSDLErrorHandler*                 m_error_handler;
00119     };
00120 }
00121 
00122 
00123 #endif  
00124 
00125 

Generated on Tue Mar 20 15:27:44 2007 for Artix by  doxygen 1.5.1-p1