00001 #ifndef _IT_WSDL_WSDL_BINDING_H_
00002 #define _IT_WSDL_WSDL_BINDING_H_
00003
00004
00005
00006
00007 #include <it_wsdl/api_defines.h>
00008 #include <it_bus/string_map.h>
00009 #include <it_wsdl/wsdl_node.h>
00010 #ifndef IT_MINIMISE_INCLUDES
00011 #include <it_bus/qname.h>
00012 #include <it_wsdl/wsdl_binding_operation.h>
00013 #include <it_wsdl/wsdl_error_handler.h>
00014 #include <it_wsdl/wsdl_extension_element.h>
00015 #include <it_wsdl/wsdl_port_type.h>
00016 #endif
00017
00018 namespace IT_WSDL
00019 {
00020 class WSDLDefinitions;
00021 class WSDLPortType;
00022 class WSDLBindingOperation;
00026 typedef IT_Bus::StringMap<WSDLBindingOperation *> WSDLBindingOperationMap;
00027
00032 class IT_WSDL_API WSDLBinding : virtual public WSDLExtensibleNode
00033 {
00034 public:
00042 virtual WSDLDefinitions &
00043 get_definitions() = 0;
00044
00052 virtual const WSDLDefinitions &
00053 get_definitions() const = 0;
00054
00060 virtual const IT_Bus::QName &
00061 get_name() const = 0;
00062
00071 virtual const WSDLBindingOperationMap &
00072 get_operations() const = 0;
00073
00082 virtual WSDLBindingOperationMap &
00083 get_operations() = 0;
00084
00091 virtual const IT_Bus::QName &
00092 get_port_type_name() const = 0;
00093
00101 virtual const WSDLPortType*
00102 get_port_type() const = 0;
00103
00113 virtual const WSDLBindingOperation *
00114 get_binding_operation(
00115 const IT_Bus::String & operation_name
00116 ) const = 0;
00117
00127 virtual const IT_Bus::String &
00128 get_binding_namespace() const = 0;
00129
00130 protected:
00131 WSDLBinding() {}
00132
00133 private:
00134
00135 WSDLBinding &
00136 operator = (
00137 const WSDLBinding& rhs
00138 );
00139
00140 WSDLBinding(
00141 const WSDLBinding& rhs
00142 );
00143 };
00144 }
00145
00146 #endif