00001 #ifndef _IT_BUS_CONFIG_TUXEDO_WSDL_EXTENSION_ELEMENT_H_ 00002 #define _IT_BUS_CONFIG_TUXEDO_WSDL_EXTENSION_ELEMENT_H_ 00003 00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved. 00005 // 00006 00007 #include <it_bus/element_list_t.h> 00008 #include <it_bus/complex_type_reader.h> 00009 #include <it_bus/complex_type_writer.h> 00010 #include <it_bus_pdk/xml_node.h> 00011 #include <it_wsdl/wsdl_extension_element.h> 00012 00013 // Since there's only one extension element, not following typical 00014 // pattern of base class for extension element and specialized 00015 // classes for each extensor FYI 00016 // 00017 namespace IT_Bus 00018 { 00022 class TuxedoWSDLExtensionElement : 00023 public IT_WSDL::WSDLExtensionElement, 00024 public virtual IT_Bus::XMLNode 00025 { 00026 public: 00027 00028 TuxedoWSDLExtensionElement( 00029 IT_WSDL::WSDLExtensibleNode& parent 00030 ); 00031 00032 virtual ~TuxedoWSDLExtensionElement(); 00033 00052 virtual const IT_Bus::QName & 00053 get_element_name() const; 00054 00061 virtual const IT_Bus::String & 00062 get_target_namespace() const; 00063 00064 virtual 00065 IT_WSDL::WSDLExtensionFactory & 00066 get_extension_factory(); 00067 00068 virtual void 00069 write( 00070 IT_Bus::XMLOutputStream & stream 00071 ) const throw((IT_Bus::IOException)); 00072 00073 virtual void 00074 write( 00075 const IT_Bus::QName& /*element_name*/, 00076 IT_Bus::ComplexTypeWriter& /*writer*/ 00077 ) const throw((IT_Bus::SerializationException)) 00078 { 00079 // complete 00080 } 00081 00087 virtual 00088 IT_Bus::AnyType& 00089 copy( 00090 const IT_Bus::AnyType& /*rhs*/ 00091 ) 00092 { 00093 return *this; 00094 } 00095 00096 private: 00097 00098 TuxedoWSDLExtensionElement( 00099 const TuxedoWSDLExtensionElement& rhs 00100 ); 00101 00102 TuxedoWSDLExtensionElement & 00103 operator = ( 00104 const TuxedoWSDLExtensionElement& rhs 00105 ); 00106 }; 00107 } 00108 00109 #endif