00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file Services_Activate.h 00006 * 00007 * Services_Activate.h,v 1.8 2005/11/02 11:03:27 ossama Exp 00008 * 00009 * This is a generic interface that would be used to activate 00010 * the services that are loaded through the svc.conf file 00011 * 00012 * @author Bala Natarajan <bala@cs.wustl.edu> 00013 */ 00014 //============================================================================= 00015 00016 #ifndef TAO_SERVICES_ACTIVATE_H 00017 #define TAO_SERVICES_ACTIVATE_H 00018 00019 #include /**/ "ace/pre.h" 00020 #include "ace/Service_Object.h" 00021 00022 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00023 # pragma once 00024 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00025 00026 #include "tao/SystemException.h" 00027 00028 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00029 00030 class TAO_ORB_Core; 00031 class TAO_Service_Callbacks; 00032 00033 /** 00034 * @class TAO_Services_Activate 00035 * 00036 * @brief A class to dynamically load callback implementations in to an 00037 * ORB. 00038 * 00039 * Many services and components of the ORB whose default behaviour 00040 * needs to be changed can use this class to activate the Callback 00041 * hooks. These hooks can then be called by the ORB at the right 00042 * points. 00043 * @@ TODO 00044 */ 00045 class TAO_Export TAO_Services_Activate : public ACE_Service_Object 00046 { 00047 public: 00048 /// The destructor 00049 virtual ~TAO_Services_Activate (void); 00050 00051 /** 00052 * Create and activate the service callbacks into the orb. 00053 * This method cannot throw any exception, but it can return a nil 00054 * object to indicate an error condition. 00055 */ 00056 virtual TAO_Service_Callbacks* activate_services (TAO_ORB_Core *orb) 00057 ACE_THROW_SPEC ((CORBA::SystemException)) = 0; 00058 }; 00059 00060 TAO_END_VERSIONED_NAMESPACE_DECL 00061 00062 #include /**/ "ace/post.h" 00063 00064 #endif /*TAO_SERVICES_ACTIVATE_H*/