it_bus/server_service.h

00001 #ifndef _IT_BUS_SERVER_SERVICE_H_
00002 #define _IT_BUS_SERVER_SERVICE_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 server runtime
00010 //
00011 
00012 #include <it_bus/service_base.h>
00013 
00014 #define IT_BUS_ALL_PORTS    IT_Bus::String::EMPTY
00015 
00016 namespace IT_WorkQueue
00017 {
00018     class WorkQueue;
00019 }
00020 
00021 namespace IT_Bus {
00022 
00023     class Servant;
00024     class ServantProvider;
00025 
00030     class IT_BUS_API ServerService : public ServiceBase
00031     {
00032 
00033       public:
00034         virtual void
00035         initialize(
00036             IT_Bool activation
00037         ) = 0;
00038 
00050         virtual void
00051         register_servant(
00052             Servant & servant,
00053             const String & port_to_register = IT_BUS_ALL_PORTS
00054         ) = 0;
00055 
00069         virtual void
00070         register_default_servant(
00071             Servant &       servant,
00072             const String &  port_to_register = IT_BUS_ALL_PORTS
00073         ) = 0;
00074 
00089         virtual Reference
00090         get_reference_with_id(
00091             const String & instance_id,
00092             const String & port_to_register = IT_BUS_ALL_PORTS
00093         ) = 0;
00094 
00095         virtual void
00096         register_servant_manager(
00097             ServantProvider & servant_manager,
00098             const String & port_name = IT_BUS_ALL_PORTS
00099         ) = 0;
00100 
00115         virtual WS_Addressing::EndpointReferenceType
00116         get_endpoint_reference_with_id(
00117             const String & instance_id,
00118             const String & port_to_register = IT_BUS_ALL_PORTS
00119         ) = 0;
00120 
00121 
00128         virtual void
00129         shutdown(
00130             IT_Bool wait_for_completion
00131         ) = 0;
00132 
00138         virtual IT_Bool
00139         is_transient() const = 0;
00140 
00141         virtual IT_WorkQueue::WorkQueue*
00142         get_workqueue() = 0;
00143 
00144       protected:
00145         ServerService() {}
00146 
00147       private:
00148         ServerService & operator = (const ServerService& rhs);
00149         ServerService(const ServerService& rhs);
00150     };
00151 
00152 }
00153 
00154 #endif  

Generated on Thu Sep 7 11:39:04 2006 for Artix by  doxygen 1.4.7