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