00001 #ifndef _MIME_WSDL_CONTENT_H_
00002 #define _MIME_WSDL_CONTENT_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 #include <it_wsdl/wsdl_binding_input.h>
00013 #include <it_wsdl/wsdl_binding_output.h>
00014
00015 namespace IT_Bus
00016 {
00017 class IT_SOAP_API MimeWSDLContent
00018 : public IT_WSDL::WSDLExtensionElement,
00019 public XMLNode
00020 {
00021 public:
00022
00023 MimeWSDLContent(
00024 IT_WSDL::WSDLExtensibleNode* parent
00025 );
00026
00027 ~MimeWSDLContent();
00028
00029 bool
00030 parse(
00031 const XMLIterator& element_iterator,
00032 const IT_Bus::XMLNode& element,
00033 IT_WSDL::WSDLErrorHandler& error_handler
00034 );
00035
00036 void
00037 read_wsdl_extension(
00038 IT_Bus::ComplexTypeReader&
00039 ) throw((IT_Bus::IOException));
00040
00041 void
00042 write_wsdl_extension(
00043 const IT_Bus::QName& ,
00044 IT_Bus::ComplexTypeWriter&
00045 ) const throw((IT_Bus::IOException));
00046
00047 void
00048 write(
00049 const IT_Bus::QName& ,
00050 IT_Bus::ComplexTypeWriter&
00051 ) const throw((IT_Bus::SerializationException));
00052
00053 void
00054 write(
00055 IT_Bus::XMLOutputStream& stream
00056 ) const throw((IT_Bus::IOException));
00057
00061 void
00062 write_attributes(
00063 IT_Bus::XMLOutputStream& stream
00064 ) const throw((IOException));
00065
00066 const IT_Bus::QName&
00067 get_element_name() const;
00068
00069 const IT_Bus::String&
00070 get_target_namespace() const;
00071
00072 IT_WSDL::WSDLExtensionFactory&
00073 get_extension_factory();
00074
00075 const String&
00076 get_mime_part() const;
00077
00078 const String&
00079 get_mime_type() const;
00080
00081 const IT_Bus::QName&
00082 get_type() const;
00083
00084 static const IT_Bus::QName&
00085 get_static_type();
00086
00087 protected:
00088 IT_WSDL::WSDLExtensibleNode* m_wsdl_extensible_node;
00089
00090 private:
00091
00092 MimeWSDLContent&
00093 operator = (
00094 const MimeWSDLContent& rhs
00095 );
00096
00097 MimeWSDLContent(
00098 const MimeWSDLContent& rhs
00099 );
00100
00101 String m_mime_type;
00102 String m_mime_part;
00103 };
00104 }
00105
00106
00107 #endif
00108