00001 #ifndef _IT_BUS_CONFIG_TUNNEL_WSDL_PAYLOAD_H_ 00002 #define _IT_BUS_CONFIG_TUNNEL_WSDL_PAYLOAD_H_ 00003 00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved. 00005 // 00006 00007 #include <it_bus_config/tunnel_wsdl_extension_element.h> 00008 00009 namespace IT_Bus 00010 { 00015 class IT_TUNNEL_API TunnelWSDLPayload : public TunnelWSDLExtensionElement 00016 { 00017 public: 00018 00019 TunnelWSDLPayload( 00020 IT_WSDL::WSDLExtensibleNode* the_node 00021 ); 00022 00023 TunnelWSDLPayload(); 00024 00025 virtual ~TunnelWSDLPayload(); 00026 00027 virtual bool 00028 parse( 00029 const XMLIterator & element_iterator, 00030 const XMLNode & element, 00031 IT_WSDL::WSDLErrorHandler & error_handler 00032 ); 00033 00034 virtual bool 00035 export_to_client() const; 00036 00045 const String& 00046 get_payload_type() const; 00047 00048 Int 00049 max_segment_size() const; 00050 00051 IT_WSDL::WSDLExtensionElement* 00052 clone() const; 00053 00054 static const String ELEMENT_NAME; 00055 00056 static const String TYPE_ATTRIBUTE_NAME; 00057 00058 static const String SEGMENT_ATTRIBUTE_NAME; 00059 00060 static const String OCTETS_TYPE; 00061 00062 static const String STRING_TYPE; 00063 00064 static const String IMSRAW_TYPE; 00065 00066 static const String IMSRAW_BINARY_TYPE; 00067 00068 static const String CICSRAW_TYPE; 00069 00070 static const String CICSRAW_BINARY_TYPE; 00071 00072 virtual void 00073 write( 00074 const IT_Bus::QName& /*element_name*/, 00075 IT_Bus::ComplexTypeWriter& /*writer*/ 00076 ) const throw((IT_Bus::SerializationException)) 00077 { 00078 // complete 00079 } 00080 00081 virtual void 00082 write( 00083 IT_Bus::XMLOutputStream & stream 00084 ) const throw((IT_Bus::IOException)); 00085 00086 virtual void 00087 write_attributes( 00088 IT_Bus::XMLOutputStream & stream 00089 ) const throw((IT_Bus::IOException)); 00090 00091 virtual 00092 IT_Bus::AnyType& 00093 operator=( 00094 const IT_Bus::AnyType& /*rhs*/ 00095 ) 00096 { 00097 return *this; 00098 } 00099 00100 private: 00101 00102 Int m_max_segment_size; 00103 00104 String m_type; 00105 00106 String m_target_namespace; 00107 00108 TunnelWSDLPayload & 00109 operator = ( 00110 const TunnelWSDLPayload& rhs 00111 ); 00112 00113 TunnelWSDLPayload( 00114 const TunnelWSDLPayload& rhs 00115 ); 00116 }; 00117 } 00118 00119 #endif