00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef TAO_ORT_ADAPTER_H
00013 #define TAO_ORT_ADAPTER_H
00014
00015 #include "ace/pre.h"
00016
00017 #include "tao/PortableServer/portableserver_export.h"
00018
00019 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00020 # pragma once
00021 #endif
00022
00023 #include "tao/PI_ForwardC.h"
00024 #include "ace/Service_Object.h"
00025 #include "ace/Array_Base.h"
00026
00027 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00028
00029 namespace CORBA
00030 {
00031 class Object;
00032 typedef Object *Object_ptr;
00033 }
00034
00035 namespace PortableInterceptor
00036 {
00037 class ObjectReferenceTemplate;
00038 class ObjectReferenceFactory;
00039 }
00040
00041 namespace PortableServer
00042 {
00043 class POA;
00044 typedef POA* POA_ptr;
00045 }
00046
00047 namespace TAO
00048 {
00049
00050
00051
00052
00053
00054
00055
00056
00057 class TAO_PortableServer_Export ORT_Adapter
00058 : public ACE_Service_Object
00059 {
00060 public:
00061
00062 virtual int activate (const char *server_id,
00063 const char *orb_id,
00064 PortableInterceptor::AdapterName *,
00065 PortableServer::POA_ptr poa) = 0;
00066
00067
00068 virtual int set_obj_ref_factory (
00069 PortableInterceptor::ObjectReferenceFactory *current_factory) = 0;
00070
00071
00072 virtual PortableInterceptor::ObjectReferenceTemplate *
00073 get_adapter_template (void) = 0;
00074
00075
00076 virtual PortableInterceptor::ObjectReferenceFactory *
00077 get_obj_ref_factory (void) = 0;
00078
00079
00080 virtual void release (
00081 PortableInterceptor::ObjectReferenceTemplate * t) = 0;
00082
00083
00084
00085
00086
00087
00088
00089
00090 virtual CORBA::Object_ptr make_object (
00091 const char * repository_id,
00092 const PortableInterceptor::ObjectId & id) = 0;
00093
00094 };
00095
00096 typedef
00097 ACE_Array_Base<PortableInterceptor::ObjectReferenceTemplate*> ORT_Array;
00098
00099 }
00100
00101 TAO_END_VERSIONED_NAMESPACE_DECL
00102
00103 #include "ace/post.h"
00104 #endif