Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members

it_bus/client_proxy_base.h

00001 #ifndef _IT_BUS_CLIENT_PROXY_BASE_H_
00002 #define _IT_BUS_CLIENT_PROXY_BASE_H_
00003 
00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved.
00005 //
00006 
00007 #include <it_bus/api_defines.h>
00008 #include <it_bus/bus.h>
00009 #include <it_bus/types.h>
00010 #include <it_bus/logging_defs.h>
00011 #include <it_bus/endpoint_reference.h>
00012 #include <it_wsdl/wsdl_definitions.h>
00013 #include <it_cal/auto_ptr.h>
00014 
00015 namespace IT_Bus
00016 {
00017     class Port;
00018     class ClientProxyDelegate;
00019     
00026     class IT_BUS_API ClientProxyBase
00027     {
00028       public:
00029 
00040         ClientProxyBase(
00041             const IT_Bus::String& wsdl,
00042             const IT_Bus::QName& service_name,
00043             const IT_Bus::String& port_name = String::EMPTY,
00044             IT_Bus::Bus* bus = 0
00045         );
00046 
00059         ClientProxyBase(
00060             const WS_Addressing::EndpointReferenceType& epr_ref,
00061             IT_Bus::Bus_ptr                             bus = 0
00062         );
00063 
00087         ClientProxyBase(
00088             const WS_Addressing::EndpointReferenceType& epr_ref,
00089             const IT_Bus::String&                       wsdl_location,
00090             const IT_Bus::QName&                        service_name,
00091             const IT_Bus::String&                       port_name,
00092             IT_Bus::Bus_ptr                             bus = 0
00093         );
00094 
00113         ClientProxyBase(
00114             const IT_Bus::QName& service_name,
00115             const IT_Bus::String& port_name = String::EMPTY,
00116             IT_Bus::Bus_ptr     bus = 0
00117         );
00118 
00133         ClientProxyBase(
00134             const IT_Bus::Reference&    reference,
00135             const IT_Bus::String&       port_name = String::EMPTY,
00136             IT_Bus::Bus_ptr             bus = 0
00137         );
00138 
00147         ClientProxyBase(
00148             const IT_Bus::EndpointReference& epr,
00149             IT_Bus::Bus_ptr             bus = 0
00150         );
00151 
00155         virtual 
00156         ~ClientProxyBase();
00157 
00163         virtual Bus_ptr 
00164         get_bus();
00165 
00172         virtual Port& 
00173         get_port();
00174 
00181         virtual ClientService& 
00182         _get_service();
00183 
00192         virtual ClientOperation*
00193         create_operation(
00194             const String & operation_name
00195         ) throw((Exception));
00196 
00203         IT_Bus::String 
00204         get_wsdl_location();
00205 
00206       protected:
00207         IT_DECLARE_BUS_LOGGER_MEM
00208         
00209       private:
00210 
00211         ClientProxyDelegate* m_delegate;
00212         
00213         ClientProxyBase();
00214 
00215         // private and unimplemented to prevent copying
00216         ClientProxyBase(const ClientProxyBase&);
00217         void operator=(const ClientProxyBase&);
00218     };
00219 }
00220 
00221 #endif  

Generated on Wed Mar 22 12:22:59 2006 for Artix by  doxygen 1.3.9.1