summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbala <balanatarajan@users.noreply.github.com>2000-08-09 22:44:15 +0000
committerbala <balanatarajan@users.noreply.github.com>2000-08-09 22:44:15 +0000
commitb83b2c28f882725e008b5ffd29c590d4f0d9cd0b (patch)
tree7ec13d986c55a9c98105cb95212d3e42a2f1034f
parent4306535e98a101081144186a0c70c35d26b0dcb8 (diff)
downloadATCD-b83b2c28f882725e008b5ffd29c590d4f0d9cd0b.tar.gz
*** empty log message ***
-rw-r--r--TAO/tao/POA.cpp28
-rw-r--r--TAO/tao/POA.h48
2 files changed, 72 insertions, 4 deletions
diff --git a/TAO/tao/POA.cpp b/TAO/tao/POA.cpp
index f869be901a5..412e16ddf5e 100644
--- a/TAO/tao/POA.cpp
+++ b/TAO/tao/POA.cpp
@@ -531,7 +531,7 @@ TAO_POA::destroy_i (CORBA::Boolean etherealize_objects,
if (this->server_object_)
{
TAO_POA *root_poa = this->orb_core ().root_poa ();
-
+
PortableServer::ObjectId_var id =
root_poa->servant_to_id_i (this->server_object_, ACE_TRY_ENV);
ACE_CHECK;
@@ -4029,7 +4029,7 @@ TAO_POA::imr_notify_startup (CORBA_Environment &ACE_TRY_ENV)
// Activate the servant in the root poa.
TAO_POA *root_poa = this->orb_core ().root_poa ();
- PortableServer::ObjectId_var id =
+ PortableServer::ObjectId_var id =
root_poa->activate_object_i (this->server_object_,
TAO_INVALID_PRIORITY,
ACE_TRY_ENV);
@@ -4123,6 +4123,30 @@ TAO_POA::imr_notify_shutdown (void)
#endif /* TAO_HAS_MINIMUM_CORBA */
+
+
+// Start of the FT_CORBA related interface definitions
+# if (TAO_HAS_MINIMUM_POA == 0)
+
+# if (TAO_HAS_FT_CORBA == 1)
+
+TAO_POA::TAO_FT_Servant_Tagged_Properties::TAO_FT_Servant_Tagged_Properties (void)
+ :is_primary (0)
+{
+ // no-op
+}
+
+CORBA::Boolean
+TAO_POA::set_group_primary_member (const CORBA::Object &member,
+ const FT_TagFTGroupTaggedComponent &group_info)
+{
+ if (this->servant_property_map_ (member,
+}
+#endif /*TAO_HAS_FT_CORBA == 1*/
+
+#endif /*TAO_HAS_MINIMUM_POA == 0 */
+
+
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
template class ACE_Array<PortableServer::ObjectId>;
template class ACE_Array_Base<PortableServer::ObjectId>;
diff --git a/TAO/tao/POA.h b/TAO/tao/POA.h
index 50069777f26..8b6034ef6e5 100644
--- a/TAO/tao/POA.h
+++ b/TAO/tao/POA.h
@@ -435,6 +435,28 @@ public:
CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ())
ACE_THROW_SPEC ((CORBA::SystemException));
+#if (TAO_HAS_FT_CORBA == 1)
+
+ // Start of FT-CORBA stuff
+ CORBA::Boolean set_group_primary_member (const CORBA::Object &member,
+ const FT_TagFTGroupTaggedComponent &group_info);
+
+ // Set the member <member> as primary and set the group information
+ // for the primary as specified by <group_info>
+
+ CORBA::Boolean set_group_info (const CORBA::Object &member,
+ const FT_TagFTGroupTaggedComponent &group_info);
+ // Set the group information for the member <member> of the Object
+ // group as specified by <group_info>
+
+ CORBA::Boolean unset_group_primary_member (const CORBA::Object &member);
+ // Unset the primary membership assigned to <member>
+
+
+ // End of FT-CORBA stuff
+
+#endif/*TAO_HAS_FT_CORBA */
+
#endif /* TAO_HAS_MINIMUM_POA == 0 */
PortableServer::LifespanPolicy_ptr create_lifespan_policy (PortableServer::LifespanPolicyValue value,
@@ -887,8 +909,6 @@ protected:
void validate_priority_and_policies (RTCORBA::Priority priority,
CORBA::Environment &ACE_TRY_ENV);
-
-
#endif /* TAO_HAS_RT_CORBA == 1 */
protected:
@@ -973,6 +993,30 @@ protected:
PortableServer::ServantBase_var default_servant_;
+#if (TAO_HAS_FT_CORBA == 1)
+
+ class TAO_FT_Servant_Tagged_Properties
+ {
+ TAO_FT_Servant_Tagged_Properties (void);
+ // Ctor
+
+ CORBA::Boolean is_primary_;
+ // This flag indicates whether the servant associated with this
+ // property is a primary or not.
+
+ FT_TagFTGroupTaggedComponent tagged_properties_;
+ // The tagged component properties that would be part of the
+ // IOGR.
+ };
+ typedef ACE_Hash_Map_Manager<CORBA::Object_var,
+ ACE_NESTED_CLASS (TAO_POA, TAO_FT_Servant_Tagged_Properties),
+ ACE_Null_Mutex> SERVANT_PROPERTY_MAP;
+
+ SERVANT_PROPERTY_MAP servant_property_map_;
+ // Map that holds the servant to tagged component property mapping.
+
+#endif /* TAO_HAS_FT_CORBA == 1*/
+
#endif /* TAO_HAS_MINIMUM_POA == 0 */
#if (TAO_HAS_MINIMUM_CORBA == 0)