3 //=============================================================================
7 * @author Carlos O'Ryan <coryan@atdesk.com>
9 //=============================================================================
11 #ifndef TAO_UTILS_RIR_NARROW_H
12 #define TAO_UTILS_RIR_NARROW_H
14 #include /**/ "ace/pre.h"
16 #include "ace/config-all.h"
18 #if !defined (ACE_LACKS_PRAGMA_ONCE)
20 #endif /* ACE_LACKS_PRAGMA_ONCE */
22 #include "tao/PI/PI.h"
25 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
34 * @brief Helper class to obtain an initial reference and narrow it
35 * to the proper object reference.
37 template<class T
> class RIR_Narrow
40 typedef typename
T::_ptr_type _ptr_type
;
41 typedef typename
T::_var_type _var_type
;
43 /// Use resolve_initial_references to find an object and then
45 static _ptr_type
narrow (CORBA::ORB_ptr orb
, char const * id
);
47 /// Use resolve_initial_references to find an object and then
49 static _ptr_type
narrow (PortableInterceptor::ORBInitInfo_ptr orb
,
53 static _ptr_type
narrow_object (CORBA::Object_ptr object
);
59 TAO_END_VERSIONED_NAMESPACE_DECL
61 #include "tao/Utils/RIR_Narrow.cpp"
63 #include /**/ "ace/post.h"
65 #endif /*TAO_UTILS_RIR_NARROW_H*/