summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsbw1 <sbw1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-07-08 23:35:59 +0000
committersbw1 <sbw1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-07-08 23:35:59 +0000
commit1442aab02e13922fe9aad92be2f0c74dd90b3bd1 (patch)
tree96fb406952af047085ab5da5e1cd313977bf3c30
parentda3db353334202896b8ff2a8d1b6a93758d1231a (diff)
downloadATCD-1442aab02e13922fe9aad92be2f0c74dd90b3bd1.tar.gz
*** empty log message ***
-rw-r--r--TAO/orbsvcs/orbsvcs/Trader/Dynamic_Property.cpp6
-rw-r--r--TAO/orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp16
-rw-r--r--TAO/orbsvcs/orbsvcs/Trader/Trader_Utils.cpp17
3 files changed, 23 insertions, 16 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Trader/Dynamic_Property.cpp b/TAO/orbsvcs/orbsvcs/Trader/Dynamic_Property.cpp
index 9c9d878843e..176c32ea515 100644
--- a/TAO/orbsvcs/orbsvcs/Trader/Dynamic_Property.cpp
+++ b/TAO/orbsvcs/orbsvcs/Trader/Dynamic_Property.cpp
@@ -47,14 +47,14 @@ construct_dynamic_prop (const char* name,
TAO_TRY
{
- CosTradingDynamic::DynamicPropEval* dp_eval = this->_this (TAO_TRY_ENV);
+ CosTradingDynamic::DynamicPropEval_var dp_eval = this->_this (TAO_TRY_ENV);
#if defined TAO_HAS_OBJECT_IN_STRUCT_MARSHAL_BUG
CORBA::ORB_ptr orb = TAO_ORB_Core_instance ()-> orb ();
- dp_struct->eval_if = orb->object_to_string (dp_eval, TAO_TRY_ENV);
+ dp_struct->eval_if = orb->object_to_string (dp_eval.in (), TAO_TRY_ENV);
#else
dp_struct->eval_if = dp_eval;
-#endif /* TAO_HAS_DYNAMIC_PROPERTY_BUG */
+#endif /* TAO_HAS_OBJECT_IN_STRUCT_MARSHAL_BUG */
TAO_CHECK_ENV;
diff --git a/TAO/orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp b/TAO/orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp
index d46b0eb8d9f..e0d4b084f34 100644
--- a/TAO/orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp
+++ b/TAO/orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp
@@ -620,7 +620,7 @@ federated_query (const CosTrading::LinkNameSeq& links,
TAO_TRY_ENV);
TAO_CHECK_ENV;
- CosTrading::Lookup_ptr remote_lookup;
+ CosTrading::Lookup_var remote_lookup;
#ifdef TAO_HAS_OBJECT_IN_STRUCT_MARSHAL_BUG
CORBA::ORB_ptr orb = TAO_ORB_Core_instance ()-> orb ();
CORBA::Object_var obj =
@@ -629,7 +629,7 @@ federated_query (const CosTrading::LinkNameSeq& links,
remote_lookup = CosTrading::Lookup::_narrow (obj, TAO_TRY_ENV);
TAO_CHECK_ENV;
#else
- remote_lookup = link_info->target;
+ remote_lookup = CosTrading::Lookup::_duplicate (link_info->target);
#endif /* TAO_HAS_OBJECT_IN_STRUCT_MARSHAL_BUG */
// Perform the federated query.
@@ -750,7 +750,7 @@ forward_query (const char* next_hop,
link_interface->describe_link (next_hop, TAO_TRY_ENV);
TAO_CHECK_ENV;
- CosTrading::Lookup_ptr remote_lookup;
+ CosTrading::Lookup_var remote_lookup;
#ifdef TAO_HAS_OBJECT_IN_STRUCT_MARSHAL_BUG
CORBA::ORB_ptr orb = TAO_ORB_Core_instance ()-> orb ();
CORBA::Object_var obj = orb->string_to_object (link_info->target, TAO_TRY_ENV);
@@ -758,7 +758,7 @@ forward_query (const char* next_hop,
remote_lookup = CosTrading::Lookup::_narrow (obj, TAO_TRY_ENV);
TAO_CHECK_ENV;
#else
- remote_lookup = link_info->target;
+ remote_lookup = CosTrading::Lookup::_duplicate (link_info->target);
#endif /* TAO_HAS_OBJECT_IN_STRUCT_MARSHAL_BUG */
CORBA::Object_var us = this->_this (TAO_TRY_ENV);
@@ -1062,7 +1062,7 @@ TAO_Register<TRADER>::resolve (const CosTrading::TraderName &name,
return CosTrading::Register::_nil ();
CosTrading::Link::LinkInfo_var link_info;
- CosTrading::Register_ptr remote_reg;
+ CosTrading::Register_var remote_reg;
TAO_TRY
{
@@ -1077,7 +1077,7 @@ TAO_Register<TRADER>::resolve (const CosTrading::TraderName &name,
remote_reg = CosTrading::Register::_narrow (obj, TAO_TRY_ENV);
TAO_CHECK_ENV;
#else
- remote_reg = link_info->target_reg;
+ remote_reg = CosTrading::Register::_narrow (link_info->target_reg);
#endif /* TAO_HAS_OBJECT_IN_STRUCT_MARSHAL_BUG */
}
@@ -1089,7 +1089,7 @@ TAO_Register<TRADER>::resolve (const CosTrading::TraderName &name,
TAO_ENDTRY;
// Ensure that the register pointer isn't nil.
- if (remote_reg == CosTrading::Register::_nil ())
+ if (remote_reg.ptr () == CosTrading::Register::_nil ())
TAO_THROW_RETURN (CosTrading::Register::RegisterNotSupported (name),
CosTrading::Register::_nil ());
@@ -1606,7 +1606,7 @@ TAO_Link<TRADER,MAP_LOCK_TYPE>::describe_link (const char *name,
CORBA::Object_var obj =
orb->string_to_object (old_link_info.target, _env);
TAO_CHECK_ENV_RETURN (_env, new_link_info);
- CosTrading::Lookup_ptr remote_lookup =
+ CosTrading::Lookup_var remote_lookup =
CosTrading::Lookup::_narrow (obj.in (), _env);
TAO_CHECK_ENV_RETURN (_env, new_link_info);
#endif /* TAO_HAS_OBJECT_IN_STRUCT_MARSHAL_BUG */
diff --git a/TAO/orbsvcs/orbsvcs/Trader/Trader_Utils.cpp b/TAO/orbsvcs/orbsvcs/Trader/Trader_Utils.cpp
index 35394fca391..d6283b4fe9e 100644
--- a/TAO/orbsvcs/orbsvcs/Trader/Trader_Utils.cpp
+++ b/TAO/orbsvcs/orbsvcs/Trader/Trader_Utils.cpp
@@ -236,7 +236,7 @@ TAO_Property_Evaluator::property_value (int index,
else if (this->supports_dp_)
{
// Property is defined at this point.
- DP_Eval* dp_eval;
+ CosTradingDynamic::DynamicPropEval_var dp_eval;
CosTradingDynamic::DynamicProp* dp_struct;
const CORBA::String_var name = this->props_[index].name;
const CORBA::Any& value = this->props_[index].value;
@@ -246,16 +246,23 @@ TAO_Property_Evaluator::property_value (int index,
#if defined TAO_HAS_OBJECT_IN_STRUCT_MARSHAL_BUG
CORBA::ORB_ptr orb = TAO_ORB_Core_instance ()->orb ();
- CORBA::Object_ptr obj = orb->string_to_object (dp_struct->eval_if, _env);
+ CORBA::Object_var obj = orb->string_to_object (dp_struct->eval_if, _env);
TAO_CHECK_ENV_RETURN (_env, 0);
dp_eval = CosTradingDynamic::DynamicPropEval::_narrow (obj, _env);
TAO_CHECK_ENV_RETURN (_env, 0);
#else
- dp_eval = dp_struct->eval_if;
+ dp_eval =
+ CosTradingDynamic::DynamicPropEval::_duplicate (dp_struct->eval_if);
#endif /* TAO_HAS_OBJECT_IN_STRUCT_MARSHAL_BUG */
- if (CORBA::is_nil (dp_eval))
- TAO_THROW_RETURN (CosTradingDynamic::DPEvalFailure (), prop_val);
+ if (CORBA::is_nil (dp_eval.ptr ()))
+ {
+ TAO_THROW_RETURN (CosTradingDynamic::
+ DPEvalFailure (name,
+ CORBA::TypeCode::_nil (),
+ CORBA::Any ()),
+ prop_val);
+ }
else
{
CORBA::TypeCode* type = dp_struct->returned_type;