Revert "Minor modernization of DynamicAny code"
[ACE_TAO.git] / TAO / tao / ObjRefTemplate / ORT_Adapter_Impl.h
blobe447c6fb0665b47d030600eda0dccd2fabe5cf63
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file ORT_Adapter_Impl.h
7 * This is the implementation of the TAO::ORT_Adapter
9 * @author Johnny Willemsen <jwillemsen@remedy.nl>
11 //=============================================================================
13 #ifndef TAO_ORT_ADAPTER_IMPL_H
14 #define TAO_ORT_ADAPTER_IMPL_H
16 #include /**/ "ace/pre.h"
18 #include "tao/ObjRefTemplate/ort_export.h"
20 #if !defined (ACE_LACKS_PRAGMA_ONCE)
21 # pragma once
22 #endif /* ACE_LACKS_PRAGMA_ONCE */
24 #include "tao/PortableServer/ORT_Adapter.h"
25 #include "tao/ObjRefTemplate/ObjectReferenceTemplate_i.h"
27 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
29 namespace TAO
31 /**
32 * @class ObjectReferenceTemplate_Adapter_Impl
34 * @brief Implementation of the TAO::ORT_Adapter
36 class ORT_Adapter_Impl
37 : public ORT_Adapter
39 public:
40 /// Activate this adapter
41 virtual int activate (const char *server_id,
42 const char *orb_id,
43 PortableInterceptor::AdapterName *adapter_name,
44 PortableServer::POA_ptr poa);
46 /// Accessor methods to ObjectReferenceTemplate template
47 virtual PortableInterceptor::ObjectReferenceTemplate *get_adapter_template ();
49 /// Accessor methods to PortableInterceptor::ObjectReferenceFactory
50 virtual PortableInterceptor::ObjectReferenceFactory * get_obj_ref_factory ();
52 /// Set a different ort_factory to be used.
53 virtual int set_obj_ref_factory (
54 PortableInterceptor::ObjectReferenceFactory * current_factory);
56 /**
57 * @see @c TAO::ORT_Adapter for details.
59 virtual void release (PortableInterceptor::ObjectReferenceTemplate * ort);
61 /**
62 * @name Adapter methods for PortableInterceptor::ObjectReferenceTemplate
63 * Methods
65 //@{
66 virtual char * tao_server_id ();
68 virtual char * tao_orb_id ();
70 virtual PortableInterceptor::AdapterName * tao_adapter_name ();
71 //@}
73 /**
74 * @name PortableInterceptor::ObjectReferenceFactory Methods
76 * Methods required by the
77 * PortableInterceptor::ObjectReferenceFactory ValueType.
79 //@{
80 virtual CORBA::Object_ptr make_object (
81 const char * repository_id,
82 const PortableInterceptor::ObjectId & id);
83 //@}
85 private:
86 /// The ORT Template, this is the factory and its identity.
87 PortableInterceptor::ObjectReferenceTemplate_var ort_template_;
89 /// The ORT Factory.
90 PortableInterceptor::ObjectReferenceFactory_var ort_factory_;
94 TAO_END_VERSIONED_NAMESPACE_DECL
96 #include /**/ "ace/post.h"
98 #endif /* TAO_ORT_ADAPTER_IMPL_H */