3 //=============================================================================
5 * @file IORInterceptor_Adapter.h
7 * @author Jeff Parsons <parsons@cs.wustl.edu>
9 //=============================================================================
12 #ifndef TAO_IORINTERCEPTOR_ADAPTER_H
13 #define TAO_IORINTERCEPTOR_ADAPTER_H
15 #include /**/ "ace/pre.h"
17 #include /**/ "tao/TAO_Export.h"
19 #if !defined (ACE_LACKS_PRAGMA_ONCE)
21 #endif /* ACE_LACKS_PRAGMA_ONCE */
23 #include "tao/PI_ForwardC.h"
24 #include "tao/Policy_ForwardC.h"
25 #include "tao/TAO_Export.h"
27 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
28 template <class T
> class ACE_Array_Base
;
29 ACE_END_VERSIONED_NAMESPACE_DECL
31 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
33 namespace PortableInterceptor
36 typedef IORInterceptor
*IORInterceptor_ptr
;
38 typedef IORInfo
*IORInfo_ptr
;
39 class ObjectReferenceTemplate
;
44 typedef ACE_Array_Base
< ::PortableInterceptor::ObjectReferenceTemplate
*>
45 ObjectReferenceTemplate_Array
;
51 * @class TAO_IORInterceptor_Adapter
53 * @brief TAO_IORInterceptor_Adapter.
55 * Class that adapts various functions involving the PortableInterceptor
56 * interfaces IORInfo and IORInterceptor. This is a base class for
57 * the actual implementation in the TAO_IORInterceptor library.
59 class TAO_Export TAO_IORInterceptor_Adapter
62 virtual ~TAO_IORInterceptor_Adapter ();
64 virtual void add_interceptor (
65 PortableInterceptor::IORInterceptor_ptr interceptor
) = 0;
67 virtual void add_interceptor (
68 PortableInterceptor::IORInterceptor_ptr interceptor
,
69 const CORBA::PolicyList
& policies
) = 0;
71 virtual void destroy_interceptors () = 0;
73 /// Call the IORInterceptor::establish_components() method on all
74 /// registered IORInterceptors.
76 * This method calls IORInterceptor::establish_components() method
77 * on all registered IORInterceptors, and
78 * IORInterceptor::components_established() once the former is
81 virtual void establish_components (TAO_Root_POA
*poa
) = 0;
83 /// Call the IORInterceptor::components_established() method on all
84 /// registered IORInterceptors.
85 virtual void components_established (PortableInterceptor::IORInfo_ptr info
) = 0;
87 virtual void adapter_state_changed (
88 const TAO::ObjectReferenceTemplate_Array
&array_obj_ref_template
,
89 PortableInterceptor::AdapterState state
) = 0;
91 virtual void adapter_manager_state_changed (
93 PortableInterceptor::AdapterState state
) = 0;
96 TAO_END_VERSIONED_NAMESPACE_DECL
98 #include /**/ "ace/post.h"
99 #endif /* TAO_IORINTERCEPTOR_ADAPTER_H */