it_bus/service_base.h

00001 #ifndef _IT_BUS_SERVICE_BASE_H_
00002 #define _IT_BUS_SERVICE_BASE_H_
00003 
00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved.
00005 //
00006 
00007 //
00008 // This class represents a base service functionality common
00009 // to services running within client and server runtimes
00010 //
00011 
00012 #include <it_bus/api_defines.h>
00013 #include <it_bus/service_exception.h>
00014 #include <it_bus/qname.h>
00015 #include <it_wsdl/wsdl_definitions.h>
00016 #include <it_wsdl/wsdl_port.h>
00017 #include <it_bus/port.h>
00018 #include <it_bus/reference.h>
00019 #include <it_bus/ref_counted_base.h>
00020 
00021 namespace IT_Bus {       
00022 
00023     namespace Logging
00024     {
00025         class ServiceNameRetriever;
00026     }
00027 
00032     class IT_BUS_API ServiceBase :public RefCountedBase
00033     {
00034       public:
00044         virtual Reference &
00045         get_reference() = 0;
00046 
00057         virtual void
00058         get_endpoint_reference(
00059             WS_Addressing::EndpointReferenceType &
00060         ) = 0;
00061 
00071         virtual const Reference &
00072         get_reference() const = 0;
00073 
00082         virtual Port *
00083         get_port(
00084             const IT_WSDL::WSDLPort & wsdl_port
00085         ) throw((ServiceException)) = 0;
00086 
00093         virtual const IT_WSDL::WSDLDefinitions &
00094         get_wsdl_definitions() const = 0;
00095 
00101         virtual const QName &
00102         get_name() const = 0;
00103 
00110         virtual const IT_WSDL::WSDLService &
00111         get_wsdl_service() const = 0;
00112         
00113         virtual void 
00114         activate() = 0;
00115                   
00116         virtual void 
00117         deactivate() = 0;
00118 
00119         virtual void
00120         wait() = 0;
00121 
00122         virtual Logging::ServiceNameRetriever*
00123         get_snr() = 0;
00124 
00125       protected :
00126 
00127         ServiceBase() 
00128         {
00129         };
00130       
00131       private:
00132         ServiceBase & operator = (const ServiceBase& rhs);
00133         ServiceBase(const ServiceBase& rhs);
00134     };
00135     
00136 }
00137 
00138 #endif  

Generated on Tue Mar 20 15:27:43 2007 for Artix by  doxygen 1.5.1-p1