diff options
author | bala <balanatarajan@users.noreply.github.com> | 2000-08-09 22:44:15 +0000 |
---|---|---|
committer | bala <balanatarajan@users.noreply.github.com> | 2000-08-09 22:44:15 +0000 |
commit | b83b2c28f882725e008b5ffd29c590d4f0d9cd0b (patch) | |
tree | 7ec13d986c55a9c98105cb95212d3e42a2f1034f | |
parent | 4306535e98a101081144186a0c70c35d26b0dcb8 (diff) | |
download | ATCD-b83b2c28f882725e008b5ffd29c590d4f0d9cd0b.tar.gz |
*** empty log message ***
-rw-r--r-- | TAO/tao/POA.cpp | 28 | ||||
-rw-r--r-- | TAO/tao/POA.h | 48 |
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) |