diff options
Diffstat (limited to 'TAO/orbsvcs/IFR_Service/ConstantDef_i.cpp')
-rw-r--r-- | TAO/orbsvcs/IFR_Service/ConstantDef_i.cpp | 72 |
1 files changed, 65 insertions, 7 deletions
diff --git a/TAO/orbsvcs/IFR_Service/ConstantDef_i.cpp b/TAO/orbsvcs/IFR_Service/ConstantDef_i.cpp index e3b6add748a..458070c4d79 100644 --- a/TAO/orbsvcs/IFR_Service/ConstantDef_i.cpp +++ b/TAO/orbsvcs/IFR_Service/ConstantDef_i.cpp @@ -33,6 +33,15 @@ IR::Contained::Description * TAO_ConstantDef_i::describe (CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { + TAO_IFR_READ_GUARD_RETURN (0); + + return this->describe_i (ACE_TRY_ENV); +} + +IR::Contained::Description * +TAO_ConstantDef_i::describe_i (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ IR::Contained::Description *desc_ptr = 0; ACE_NEW_THROW_EX (desc_ptr, IR::Contained::Description, @@ -46,10 +55,10 @@ TAO_ConstantDef_i::describe (CORBA::Environment &ACE_TRY_ENV) IR::ConstantDescription cd; - cd.name = this->name (ACE_TRY_ENV); + cd.name = this->name_i (ACE_TRY_ENV); ACE_CHECK_RETURN (0); - cd.id = this->id (ACE_TRY_ENV); + cd.id = this->id_i (ACE_TRY_ENV); ACE_CHECK_RETURN (0); ACE_TString container_id; @@ -60,13 +69,13 @@ TAO_ConstantDef_i::describe (CORBA::Environment &ACE_TRY_ENV) cd.defined_in = container_id.c_str (); - cd.version = this->version (ACE_TRY_ENV); + cd.version = this->version_i (ACE_TRY_ENV); ACE_CHECK_RETURN (0); cd.type = this->type (ACE_TRY_ENV); ACE_CHECK_RETURN (0); - CORBA::Any_var val = this->value (ACE_TRY_ENV); + CORBA::Any_var val = this->value_i (ACE_TRY_ENV); ACE_CHECK_RETURN (0); cd.value = val.in (); @@ -80,6 +89,15 @@ CORBA::TypeCode_ptr TAO_ConstantDef_i::type (CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { + TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ()); + + return this->type_i (ACE_TRY_ENV); +} + +CORBA::TypeCode_ptr +TAO_ConstantDef_i::type_i (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ ACE_TString type_path; this->repo_->config ()->get_string_value (this->section_key_, "type_path", @@ -98,13 +116,22 @@ TAO_ConstantDef_i::type (CORBA::Environment &ACE_TRY_ENV) auto_ptr<TAO_IDLType_i> safety (impl); - return impl->type (ACE_TRY_ENV); + return impl->type_i (ACE_TRY_ENV); } IR::IDLType_ptr TAO_ConstantDef_i::type_def (CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { + TAO_IFR_READ_GUARD_RETURN (IR::IDLType::_nil ()); + + return this->type_def_i (ACE_TRY_ENV); +} + +IR::IDLType_ptr +TAO_ConstantDef_i::type_def_i (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ ACE_TString type_path; this->repo_->config ()->get_string_value (this->section_key_, @@ -142,6 +169,17 @@ TAO_ConstantDef_i::type_def (IR::IDLType_ptr type_def, CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { + TAO_IFR_WRITE_GUARD; + + this->type_def_i (type_def, + ACE_TRY_ENV); +} + +void +TAO_ConstantDef_i::type_def_i (IR::IDLType_ptr type_def, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ PortableServer::ObjectId_var oid = this->repo_->ir_poa ()->reference_to_id (type_def, ACE_TRY_ENV); @@ -159,7 +197,16 @@ CORBA::Any * TAO_ConstantDef_i::value (CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { - CORBA::TypeCode_var tc = this->type (ACE_TRY_ENV); + TAO_IFR_READ_GUARD_RETURN (0); + + return this->value_i (ACE_TRY_ENV); +} + +CORBA::Any * +TAO_ConstantDef_i::value_i (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + CORBA::TypeCode_var tc = this->type_i (ACE_TRY_ENV); ACE_CHECK_RETURN (0); void *ref = 0; @@ -198,7 +245,18 @@ TAO_ConstantDef_i::value (const CORBA::Any &value, CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { - CORBA::TypeCode_var my_tc = this->type (ACE_TRY_ENV); + TAO_IFR_WRITE_GUARD; + + this->value_i (value, + ACE_TRY_ENV); +} + +void +TAO_ConstantDef_i::value_i (const CORBA::Any &value, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + CORBA::TypeCode_var my_tc = this->type_i (ACE_TRY_ENV); ACE_CHECK; CORBA::TypeCode_var val_tc = value.type (); |