00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file Services_Activate.h 00006 * 00007 * $Id: Services_Activate.h 76995 2007-02-11 12:51:42Z johnnyw $ 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/orbconf.h" 00027 #include /**/ "tao/TAO_Export.h" 00028 00029 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00030 00031 class TAO_ORB_Core; 00032 class TAO_Service_Callbacks; 00033 00034 /** 00035 * @class TAO_Services_Activate 00036 * 00037 * @brief A class to dynamically load callback implementations in to an 00038 * ORB. 00039 * 00040 * Many services and components of the ORB whose default behaviour 00041 * needs to be changed can use this class to activate the Callback 00042 * hooks. These hooks can then be called by the ORB at the right 00043 * points. 00044 * @@ TODO 00045 */ 00046 class TAO_Export TAO_Services_Activate : public ACE_Service_Object 00047 { 00048 public: 00049 /// The destructor 00050 virtual ~TAO_Services_Activate (void); 00051 00052 /** 00053 * Create and activate the service callbacks into the orb. 00054 * This method cannot throw any exception, but it can return a nil 00055 * object to indicate an error condition. 00056 */ 00057 virtual TAO_Service_Callbacks* activate_services (TAO_ORB_Core *orb) = 0; 00058 }; 00059 00060 TAO_END_VERSIONED_NAMESPACE_DECL 00061 00062 #include /**/ "ace/post.h" 00063 00064 #endif /*TAO_SERVICES_ACTIVATE_H*/