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_bus/qname.h>
00010 #include <it_wsdl/wsdl_node.h>
00011 #include <it_wsdl/wsdl_binding_operation.h>
00012 #include <it_wsdl/wsdl_error_handler.h>
00013 #include <it_wsdl/wsdl_extension_element.h>
00014 #include <it_wsdl/wsdl_port_type.h>
00015
00016 namespace IT_WSDL
00017 {
00018 class WSDLDefinitions;
00019
00023 typedef IT_Bus::StringMap<WSDLBindingOperation *> WSDLBindingOperationMap;
00024
00029 class IT_WSDL_API WSDLBinding : virtual public WSDLExtensibleNode
00030 {
00031 public:
00039 virtual WSDLDefinitions &
00040 get_definitions() = 0;
00041
00049 virtual const WSDLDefinitions &
00050 get_definitions() const = 0;
00051
00057 virtual const IT_Bus::QName &
00058 get_name() const = 0;
00059
00068 virtual const WSDLBindingOperationMap &
00069 get_operations() const = 0;
00070
00079 virtual WSDLBindingOperationMap &
00080 get_operations() = 0;
00081
00088 virtual const IT_Bus::QName &
00089 get_port_type_name() const = 0;
00090
00098 virtual const WSDLPortType*
00099 get_port_type() const = 0;
00100
00110 virtual const WSDLBindingOperation *
00111 get_binding_operation(
00112 const IT_Bus::String & operation_name
00113 ) const = 0;
00114
00124 virtual const IT_Bus::String &
00125 get_binding_namespace() const = 0;
00126
00127 protected:
00128 WSDLBinding() {}
00129
00130 private:
00131
00132 WSDLBinding &
00133 operator = (
00134 const WSDLBinding& rhs
00135 );
00136
00137 WSDLBinding(
00138 const WSDLBinding& rhs
00139 );
00140 };
00141 }
00142
00143 #endif