3 //=============================================================================
5 * @file ObjectReferenceFactory.h
8 * @author Ossama Othman <ossama@uci.edu>
10 //=============================================================================
12 #ifndef TAO_OBJECT_REFERENCE_FACTORY_H
13 #define TAO_OBJECT_REFERENCE_FACTORY_H
15 #include "ObjectReferenceFactoryC.h"
17 #if !defined (ACE_LACKS_PRAGMA_ONCE)
19 #endif /* ACE_LACKS_PRAGMA_ONCE */
23 #pragma warning(disable:4250)
27 * @class ObjectReferenceFactory
29 * @brief Implementation of the PortableInterceptor::ObjectReferenceFactory
32 * This ObjectReferenceFactory creates simply delegates all tasks on
33 * to the old ObjectReferenceFactory. It merely exists to test the
34 * @c IORInfo::current_factory attribute internals.
36 class ObjectReferenceFactory
37 : public virtual OBV_ORT_Test::ObjectReferenceFactory
38 , public virtual CORBA::DefaultValueRefCountBase
42 ObjectReferenceFactory (
43 PortableInterceptor::ObjectReferenceFactory
* old_orf
);
45 virtual ::CORBA::ValueBase
*_copy_value ();
48 * @name PortableInterceptor::ObjectReferenceFactory Methods
50 * Methods required by the
51 * PortableInterceptor::ObjectReferenceFactory interface.
54 virtual CORBA::Object_ptr
make_object (
55 const char *repository_id
,
56 const PortableInterceptor::ObjectId
& id
);
62 * Protected destructor to enforce proper memory management via
65 ~ObjectReferenceFactory ();
68 /// The old ObjectReferenceFactory used to create object references.
70 * This ObjectReferenceFactory will still be used when creating
71 * object references. However, it will be invoked through this
72 * ObjectReferenceFactory.
74 PortableInterceptor::ObjectReferenceFactory_var old_orf_
;
77 #if defined (_MSC_VER)
81 #endif /* TAO_OBJECT_REFERENCE_FACTORY_H */