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