00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef TAO_Notify_SERVICE_H
00012 #define TAO_Notify_SERVICE_H
00013 #include "ace/pre.h"
00014
00015 #include "orbsvcs/Notify/notify_serv_export.h"
00016
00017 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00018 # pragma once
00019 #endif
00020
00021 #include "tao/Versioned_Namespace.h"
00022
00023 #include "ace/Service_Object.h"
00024 #include "ace/Service_Config.h"
00025 #include "ace/CORBA_macros.h"
00026
00027 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00028
00029 namespace PortableServer
00030 {
00031 class POA;
00032 typedef POA *POA_ptr;
00033 }
00034
00035 namespace CosNotifyChannelAdmin
00036 {
00037 class EventChannelFactory;
00038 typedef EventChannelFactory *EventChannelFactory_ptr;
00039 }
00040
00041 namespace CORBA
00042 {
00043 class ORB;
00044 typedef ORB *ORB_ptr;
00045 }
00046
00047
00048
00049
00050
00051
00052
00053
00054 class TAO_Notify_Serv_Export TAO_Notify_Service : public ACE_Service_Object
00055 {
00056 public:
00057
00058 virtual ~TAO_Notify_Service (void);
00059
00060
00061
00062 static TAO_Notify_Service* load_default (void);
00063
00064
00065 virtual int init (int argc, ACE_TCHAR *argv[]) = 0;
00066
00067
00068 virtual void init_service (CORBA::ORB_ptr orb) = 0;
00069
00070
00071 virtual void init_service2 (CORBA::ORB_ptr orb, CORBA::ORB_ptr dispatching_orb) = 0;
00072
00073
00074
00075 virtual void finalize_service (
00076 CosNotifyChannelAdmin::EventChannelFactory_ptr factory) = 0;
00077
00078
00079 virtual CosNotifyChannelAdmin::EventChannelFactory_ptr create (
00080 PortableServer::POA_ptr default_POA,
00081 const char* factory_name = "EventChannelFactory") = 0;
00082 };
00083
00084 TAO_END_VERSIONED_NAMESPACE_DECL
00085
00086
00087 #define TAO_NOTIFY_DEF_EMO_FACTORY_NAME "Notify_Default_Event_Manager_Objects_Factory"
00088
00089 #define TAO_NOTIFICATION_SERVICE_NAME "TAO_Notify_Service"
00090
00091 #define TAO_COS_NOTIFICATION_SERVICE_NAME "TAO_CosNotify_Service"
00092
00093 #define TAO_RT_NOTIFICATION_SERVICE_NAME "TAO_RT_Notify_Service"
00094
00095 #define TAO_MC_NOTIFICATION_SERVICE_NAME "TAO_MC_Notify_Service"
00096
00097 #include "ace/post.h"
00098 #endif