3 //=============================================================================
5 * @file ObjectReferenceTemplate_i.h
7 * This is the implementation of the
8 * PortableInterceptor::ObjectReferenceTemplate ValueType.
10 * @author Johnny Willemsen <jwillemsen@remedy.nl>
12 //=============================================================================
14 #ifndef TAO_OBJECT_REFERENCE_TEMPLATE_I_H
15 #define TAO_OBJECT_REFERENCE_TEMPLATE_I_H
17 #include /**/ "ace/pre.h"
19 #include "tao/ObjRefTemplate/ort_export.h"
21 #if !defined (ACE_LACKS_PRAGMA_ONCE)
23 #endif /* ACE_LACKS_PRAGMA_ONCE */
25 #include "tao/ObjRefTemplate/Default_ORTC.h"
29 #pragma warning(disable:4250)
32 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
34 namespace PortableServer
39 typedef TAO_Objref_Var_T
<POA
> POA_var
;
45 * @class ObjectReferenceTemplate
47 * @brief Implementation of the PortableInterceptor::ObjectReferenceTemplate
48 * interface. This is a default implementation created to be returned
49 * by the IORInfo when the user requests the ORT or ORF.
51 class ObjectReferenceTemplate
52 : public virtual OBV_TAO_Default_ORT::ObjectReferenceTemplate
,
53 public virtual CORBA::DefaultValueRefCountBase
57 ObjectReferenceTemplate (const char *server_id
,
59 PortableInterceptor::AdapterName
*adapter_name
,
60 PortableServer::POA_ptr poa
);
61 ::CORBA::ValueBase
*_copy_value ();
64 * @name PortableInterceptor::ObjectReferenceTemplate Methods
66 * Methods required by the
67 * PortableInterceptor::ObjectReferenceTemplate ValueType.
70 virtual char * server_id ();
72 virtual char * orb_id ();
74 virtual PortableInterceptor::AdapterName
* adapter_name ();
78 * @name PortableInterceptor::ObjectReferenceFactory Methods
80 * Methods required by the
81 * PortableInterceptor::ObjectReferenceFactory ValueType.
84 virtual CORBA::Object_ptr
make_object (
85 const char * repository_id
,
86 const PortableInterceptor::ObjectId
& id
);
92 * Protected destructor to enforce proper memory management via
95 ~ObjectReferenceTemplate ();
98 const char *server_id_
;
100 PortableInterceptor::AdapterName_var adapter_name_
;
101 PortableServer::POA_var poa_
;
105 TAO_END_VERSIONED_NAMESPACE_DECL
107 #if defined(_MSC_VER)
109 #endif /* _MSC_VER */
111 #include /**/ "ace/post.h"
113 #endif /* TAO_OBJECT_REFERENCE_TEMPLATE_I_H */