00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef TAO_STORABLE_NAMING_CONTEXT_ACTIVATOR_H
00016 #define TAO_STORABLE_NAMING_CONTEXT_ACTIVATOR_H
00017 #include "ace/pre.h"
00018
00019 #include "tao/PortableServer/PortableServer.h"
00020 #include "tao/PortableServer/ServantActivatorC.h"
00021 #include "tao/LocalObject.h"
00022
00023 #if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO)
00024
00025 #include "orbsvcs/Naming/naming_serv_export.h"
00026
00027 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00028
00029 class TAO_Naming_Service_Persistence_Factory;
00030
00031
00032
00033
00034
00035
00036
00037 class TAO_Naming_Serv_Export TAO_Storable_Naming_Context_Activator :
00038 public virtual PortableServer::ServantActivator
00039 {
00040 public:
00041
00042
00043
00044
00045
00046 TAO_Storable_Naming_Context_Activator(CORBA::ORB_ptr orb,
00047 TAO_Naming_Service_Persistence_Factory *factory,
00048 const ACE_TCHAR *persistence_directory,
00049 size_t context_size);
00050
00051 virtual ~TAO_Storable_Naming_Context_Activator();
00052
00053
00054
00055
00056
00057
00058 virtual PortableServer::Servant incarnate (const PortableServer::ObjectId &oid,
00059 PortableServer::POA_ptr poa);
00060
00061
00062
00063
00064 virtual void etherealize (const PortableServer::ObjectId &oid,
00065 PortableServer::POA_ptr adapter,
00066 PortableServer::Servant servant,
00067 CORBA::Boolean cleanup_in_progress,
00068 CORBA::Boolean remaining_activations);
00069
00070 private:
00071
00072 CORBA::ORB_ptr orb_;
00073 TAO_Naming_Service_Persistence_Factory *factory_;
00074 const ACE_TCHAR *persistence_directory_;
00075 size_t context_size_;
00076 };
00077
00078 TAO_END_VERSIONED_NAMESPACE_DECL
00079
00080 #endif
00081
00082 #include "ace/post.h"
00083 #endif