it_bus_pdk/service_activator.h

00001 #ifndef _IT_BUS_PDK_BUS_SERVICE_ACTIVATOR_H_
00002 #define _IT_BUS_PDK_BUS_SERVICE_ACTIVATOR_H_
00003 
00004 // @Copyright 2005 IONA Technologies, Plc. All Rights Reserved.
00005 //
00006 
00007 #ifndef IT_MINIMISE_INCLUDES
00008 #include <it_bus/bus.h>
00009 #endif
00010 
00011 #include <it_bus/bus_type_alias.h>
00012 #include <it_bus/types.h>
00013 #include <it_bus/qname.h>
00014 #include <it_bus_pdk/registry.h>
00015 
00016 namespace IT_Bus
00017 {
00018     class IT_BUS_API ServiceActivator : 
00019         public RegistryBase
00020     {
00021       public:
00022 
00023         virtual ~ServiceActivator() throw(());
00024 
00025         virtual void
00026         activate_service(
00027             const IT_Bus::QName & service_name
00028         ) throw((Exception)) = 0;
00029 
00030         virtual void
00031         deactivate_service(
00032             const IT_Bus::QName & service_name
00033         ) = 0; 
00034 
00035         static IT_Bus::Boolean
00036         register_sa(
00037             IT_Bus::Bus_ptr bus,
00038             const IT_Bus::QName & service_name,
00039             ServiceActivator * sa
00040         );
00041         
00042         static IT_Bus::Boolean
00043         deregister_sa(
00044             IT_Bus::Bus_ptr bus,
00045             const IT_Bus::QName & service_name
00046         );
00047         
00048         static ServiceActivator* 
00049         get_service_activator(
00050             IT_Bus::Bus_ptr bus,
00051             const IT_Bus::QName & service_name
00052         );
00053 
00054         static const String SERVICE_ACTIVATOR_QNAME_REGISTRY_NAME;
00055     };
00056 
00057     typedef Registry<QName, ServiceActivator> ServiceActivatorRegistry;
00058 }
00059 
00060 #endif  

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