00001 #ifndef _IT_BUS_CONFIG_MQ_WSDL_EXTENSION_ELEMENT_H_
00002 #define _IT_BUS_CONFIG_MQ_WSDL_EXTENSION_ELEMENT_H_
00003
00004
00005
00006
00007 #include <it_wsdl/wsdl_extension_element.h>
00008
00009 #if !defined(IT_MQ_API)
00010 #if defined(IT_MQ_API_EXPORT)
00011 #define IT_MQ_API IT_DECLSPEC_EXPORT
00012 #else
00013 #define IT_MQ_API IT_DECLSPEC_IMPORT
00014 #endif
00015 #endif
00016
00017 namespace IT_MQ
00018 {
00022 class MQWSDLExtensionElement :
00023 public IT_WSDL::WSDLExtensionElement,
00024 public IT_Bus::XMLNode
00025 {
00026 public:
00027
00028 MQWSDLExtensionElement(
00029 IT_WSDL::WSDLExtensibleNode* the_node
00030 );
00031
00050 virtual const IT_Bus::QName &
00051 get_element_name() const;
00052
00059 virtual const IT_Bus::String &
00060 get_target_namespace() const;
00061
00062 virtual
00063 IT_WSDL::WSDLExtensionFactory &
00064 get_extension_factory();
00065
00066 virtual
00067 ~MQWSDLExtensionElement();
00068
00069 virtual void
00070 read(
00071 const IT_Bus::QName& ,
00072 IT_Bus::ComplexTypeReader&
00073 ) throw((IT_Bus::DeserializationException))
00074 {
00075 throw IT_Bus::IOException("Not Supported");
00076 }
00077
00078 virtual void
00079 write(
00080 const IT_Bus::QName& ,
00081 IT_Bus::ComplexTypeWriter&
00082 ) const throw((IT_Bus::SerializationException))
00083 {
00084
00085 }
00086
00087 virtual void
00088 write(
00089 IT_Bus::XMLOutputStream & stream
00090 ) const throw((IT_Bus::IOException));
00091
00097 virtual
00098 IT_Bus::AnyType&
00099 copy(
00100 const IT_Bus::AnyType&
00101 )
00102 {
00103 return *this;
00104 }
00105
00106 protected:
00107
00108 IT_Bus::QName m_element_name;
00109 IT_Bus::String m_target_namespace;
00110 IT_WSDL::WSDLExtensibleNode* m_wsdl_extensible_node;
00111
00112 private:
00113
00114 MQWSDLExtensionElement &
00115 operator = (
00116 const MQWSDLExtensionElement& rhs
00117 );
00118
00119 MQWSDLExtensionElement(
00120 const MQWSDLExtensionElement& rhs
00121 );
00122 };
00123 }
00124
00125 #endif