it_bus_config/mime_wsdl_multipart_related.h

00001 #ifndef _MIME_WSDL_MULTIPART_RELATED_H_
00002 #define _MIME_WSDL_MULTIPART_RELATED_H_
00003 
00004 
00005 #if !defined(IT_SOAP_API)
00006 #if defined(IT_SOAP_API_EXPORT)
00007 #define IT_SOAP_API    IT_DECLSPEC_EXPORT
00008 #else
00009 #define IT_SOAP_API    IT_DECLSPEC_IMPORT
00010 #endif
00011 #endif
00012 
00013 #include <it_wsdl/wsdl_error_handler.h>
00014 #include <it_wsdl/wsdl_binding_input.h>
00015 #include <it_wsdl/wsdl_binding_output.h>
00016 #include <it_wsdl/wsdl_extension_element.h>
00017 #include <it_bus_config/soap_wsdl_body.h>
00018 #include <it_bus_config/mime_wsdl_part.h>
00019 
00020 namespace IT_Bus
00021 {
00022     typedef IT_Vector<MimeWSDLPart*> MimePartsT;
00023 
00029     class IT_SOAP_API MimeWSDLMultipartRelated 
00030       : public IT_WSDL::WSDLExtensionElement, 
00031         public XMLNode
00032     {
00033       public:
00082         static
00083         IT_Bool
00084         is_multipart_related_extension_element(
00085              const QName&  element_name
00086         );   
00087 
00088         MimeWSDLMultipartRelated(
00089             IT_WSDL::WSDLExtensibleNode* parent
00090         );
00091 
00092         ~MimeWSDLMultipartRelated();
00093 
00094         bool
00095         parse(
00096             const XMLIterator&         element_iterator,
00097             const IT_Bus::XMLNode&     element,
00098             IT_WSDL::WSDLErrorHandler& error_handler
00099         );
00100 
00101         void
00102         read_wsdl_extension(
00103             IT_Bus::ComplexTypeReader& /* reader */
00104         ) throw((IT_Bus::IOException));
00105 
00106         void
00107         write_wsdl_extension(
00108             const IT_Bus::QName&       /* element_name */,
00109             IT_Bus::ComplexTypeWriter& /* writer */
00110         ) const throw((IT_Bus::IOException));
00111 
00112         void
00113         write(
00114             IT_Bus::XMLOutputStream& stream
00115         ) const throw((IT_Bus::IOException));
00116 
00117         void
00118         write(
00119             const IT_Bus::QName&       /*element_name*/,
00120             IT_Bus::ComplexTypeWriter& /*writer*/
00121         ) const throw((IT_Bus::SerializationException));
00122 
00123         bool
00124         accept_element(
00125             const XMLIterator& element_iterator,
00126             const XMLNode&     element
00127         );
00128 
00132         void
00133         write_attributes(
00134             IT_Bus::XMLOutputStream& stream
00135         ) const throw((IOException));
00136  
00182         const IT_Bus::QName&
00183         get_element_name() const;
00184 
00191         const IT_Bus::String&
00192         get_target_namespace() const;
00193 
00194         IT_WSDL::WSDLExtensionFactory&
00195         get_extension_factory();
00196 
00240         const IT_Bus::SoapWSDLBody*
00241         get_soap_body() const;
00242 
00293         const char*
00294         get_content_type_in_wsdl(
00295             const QName&   part_name
00296         ) const;
00297 
00298         const IT_Bus::QName&
00299         get_type() const;
00300 
00301         static const IT_Bus::QName&
00302         get_static_type();
00303 
00304      protected:
00305         IT_WSDL::WSDLExtensibleNode*  m_wsdl_extensible_node;
00306 
00307       private:
00308 
00309         MimeWSDLMultipartRelated&
00310         operator = (
00311             const MimeWSDLMultipartRelated& rhs
00312         );
00313 
00314         MimeWSDLMultipartRelated(
00315             const MimeWSDLMultipartRelated& rhs
00316         );
00317 
00318         MimePartsT                    m_mime_parts;
00319         IT_WSDL::WSDLErrorHandler*    m_error_handler;
00320     };
00321 }
00322 
00323 
00324 #endif  
00325 
00326 

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