00001 #ifndef _IT_WSDL_WSDL_MESSAGE_H_
00002 #define _IT_WSDL_WSDL_MESSAGE_H_
00003
00004
00005
00006
00007 #include <it_wsdl/api_defines.h>
00008 #include <it_wsdl/wsdl_part.h>
00009
00010 #ifndef IT_MINIMISE_INCLUDES
00011 #include <it_bus/qname.h>
00012 #include <it_wsdl/wsdl_node.h>
00013 #include <it_wsdl/wsdl_extension_element.h>
00014 #endif
00015
00016 namespace IT_WSDL
00017 {
00018 class WSDLDefinitions;
00019 class WSDLPart;
00020
00024 typedef IT_Vector<WSDLPart *> WSDLPartVector;
00025
00030 class IT_WSDL_API WSDLMessage : virtual public WSDLExtensibleNode
00031 {
00032 public:
00040 virtual WSDLDefinitions &
00041 get_definitions() = 0;
00042
00050 virtual const WSDLDefinitions &
00051 get_definitions() const = 0;
00052
00061 virtual const WSDLPart *
00062 get_part(
00063 const IT_Bus::String & part_name
00064 ) const = 0;
00065
00074 virtual const WSDLPartVector &
00075 get_parts() const = 0;
00076
00085 virtual WSDLPartVector &
00086 get_parts() = 0;
00087
00093 virtual const IT_Bus::QName &
00094 get_name() const = 0;
00095
00096 protected:
00097 WSDLMessage() {}
00098
00099 private:
00100
00101 WSDLMessage(const WSDLMessage&);
00102 void operator=(const WSDLMessage&);
00103 };
00104 }
00105
00106 #endif