3 //=============================================================================
5 * @file IORInterceptor_Adapter_Impl.h
7 * @author Jeff Parsons <parsons@cs.wustl.edu>
9 //=============================================================================
12 #ifndef TAO_IORINTERCEPTOR_ADAPTER_IMPL_H
13 #define TAO_IORINTERCEPTOR_ADAPTER_IMPL_H
15 #include /**/ "ace/pre.h"
17 #include "tao/IORInterceptor/iorinterceptor_export.h"
19 #if !defined (ACE_LACKS_PRAGMA_ONCE)
21 #endif /* ACE_LACKS_PRAGMA_ONCE */
23 #include "tao/IORInterceptor/IORInterceptor.h"
24 #include "tao/IORInterceptor_Adapter.h"
25 #include "tao/PI/Interceptor_List_T.h"
26 #include "tao/IORInterceptor/IORInterceptor_Details.h"
28 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
32 typedef Interceptor_List
< ::PortableInterceptor::IORInterceptor
,
33 IORInterceptor_Details
>
40 * @class TAO_IORInterceptor_Adapter_Impl
42 * @brief TAO_IORInterceptor_Adapter_Impl.
44 * Class that adapts various functions involving the PortableInterceptor
45 * interfaces IORInfo and IORInterceptor. This is the derived class
46 * that contains the actual implementations.
48 class TAO_IORInterceptor_Adapter_Impl
49 : public TAO_IORInterceptor_Adapter
52 virtual ~TAO_IORInterceptor_Adapter_Impl ();
54 virtual void add_interceptor (
55 PortableInterceptor::IORInterceptor_ptr interceptor
);
57 virtual void add_interceptor (
58 PortableInterceptor::IORInterceptor_ptr interceptor
,
59 const CORBA::PolicyList
& policies
);
61 virtual void destroy_interceptors ();
63 virtual void establish_components (TAO_Root_POA
*poa
);
65 /// Call the IORInterceptor::components_established() method on all
66 /// registered IORInterceptors.
67 virtual void components_established (PortableInterceptor::IORInfo_ptr info
);
69 virtual void adapter_state_changed (
70 const TAO::ObjectReferenceTemplate_Array
&array_obj_ref_template
,
71 PortableInterceptor::AdapterState state
);
73 virtual void adapter_manager_state_changed (
75 PortableInterceptor::AdapterState state
);
78 /// List of IOR interceptors maintained
79 TAO::IORInterceptor_List ior_interceptor_list_
;
82 TAO_END_VERSIONED_NAMESPACE_DECL
84 #include /**/ "ace/post.h"
86 #endif /* TAO_IORINTERCEPTOR_ADAPTER_IMPL_H */