summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Notify/POA_Helper.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/POA_Helper.h')
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/POA_Helper.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Notify/POA_Helper.h b/TAO/orbsvcs/orbsvcs/Notify/POA_Helper.h
index 831b0dc163d..01c79ed3665 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/POA_Helper.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/POA_Helper.h
@@ -23,6 +23,7 @@
#include "ace/Copy_Disabled.h"
#include "tao/PortableServer/PortableServer.h"
+#include "ID_Factory.h"
/**
* @class TAO_Notify_POA_Helper
@@ -54,12 +55,20 @@ public:
/// Activate Object, the POA will assign an ID and return its value.
CORBA::Object_ptr activate (PortableServer::Servant servant, CORBA::Long& id ACE_ENV_ARG_DECL);
+ /// Activate Object, using existing ID
+ CORBA::Object_ptr activate_with_id (PortableServer::Servant servant, CORBA::Long id ACE_ENV_ARG_DECL);
+
/// Deactivate Object with ID
void deactivate (CORBA::Long id ACE_ENV_ARG_DECL) const;
/// Convert ID to reference.
CORBA::Object_ptr id_to_reference (CORBA::Long id ACE_ENV_ARG_DECL) const;
+ /// Convert reference to pointer to servant
+ PortableServer::ServantBase * reference_to_servant (CORBA::Object_ptr ptr ACE_ENV_ARG_DECL) const;
+
+ CORBA::Object_ptr servant_to_reference (PortableServer::ServantBase * servant ACE_ENV_ARG_DECL) const;
+
protected:
/// Set default POA policies.
virtual void set_policy (PortableServer::POA_ptr parent_poa, CORBA::PolicyList &policy_list ACE_ENV_ARG_DECL);
@@ -70,11 +79,15 @@ protected:
/// Generate a unique id for each POA created.
ACE_CString get_unique_id (void);
+ /// Convert id to ObjectID
+ PortableServer::ObjectId* long_to_ObjectId (CORBA::Long id ACE_ENV_ARG_DECL) const;
+
+protected:
/// POA
PortableServer::POA_var poa_;
- /// Convert id to ObjectID
- PortableServer::ObjectId* long_to_ObjectId (CORBA::Long id ACE_ENV_ARG_DECL) const;
+ /// ID Factory for objects.
+ TAO_Notify_ID_Factory id_factory_;
};
#if defined (__ACE_INLINE__)