3 //=============================================================================
5 * @file Implicit_Deactivator.h
7 * @author Carlos O'Ryan <coryan@atdesk.com>
9 //=============================================================================
10 #ifndef TAO_UTILS_IMPLICIT_DEACTIVATOR_H
11 #define TAO_UTILS_IMPLICIT_DEACTIVATOR_H
12 #include /**/ "ace/pre.h"
13 #include "tao/Utils/utils_export.h"
16 #if !defined (ACE_LACKS_PRAGMA_ONCE)
18 #endif /* ACE_LACKS_PRAGMA_ONCE */
20 #include "tao/PortableServer/PortableServer.h"
21 #include "ace/Auto_Functor.h"
23 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
30 * @struct Implicit_Deactivation_Functor
32 * @brief Implements a functor for the Implicit_Deactivator class.
34 struct TAO_UTILS_Export Implicit_Deactivation_Functor
36 typedef PortableServer::ServantBase
* argument
;
38 // Deactivate an implicitly activated servant
39 void operator() (PortableServer::ServantBase
* servant
) noexcept
;
43 * @class Implicit_Deactivator
45 * @brief Helper class to deactivate implicitly activated servants.
48 typedef ACE_Utils::Auto_Functor
<
49 PortableServer::ServantBase
,
50 Implicit_Deactivation_Functor
>
55 TAO_END_VERSIONED_NAMESPACE_DECL
57 #include /**/ "ace/post.h"
58 #endif /*TAO_UTILS_IMPLICIT_DEACTIVATOR_H*/