summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Trader/Dynamic_Property.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Trader/Dynamic_Property.cpp')
-rw-r--r--TAO/orbsvcs/orbsvcs/Trader/Dynamic_Property.cpp123
1 files changed, 0 insertions, 123 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Trader/Dynamic_Property.cpp b/TAO/orbsvcs/orbsvcs/Trader/Dynamic_Property.cpp
deleted file mode 100644
index 9d2d903f78c..00000000000
--- a/TAO/orbsvcs/orbsvcs/Trader/Dynamic_Property.cpp
+++ /dev/null
@@ -1,123 +0,0 @@
-// $Id$
-
-#include "Dynamic_Property.h"
-
-TAO_DP_Dispatcher::TAO_DP_Dispatcher(const char* name)
-{
-}
-
-TAO_DP_Dispatcher::~TAO_DP_Dispatcher (void)
-{
- for (HANDLER_MAP::iterator handler_iter = this->handlers_.begin ();
- handler_iter != this->handlers_.end ();
- handler_iter++)
- {
- CORBA::Boolean delete_me = (*handler_iter).second.second;
-
- if (delete_me)
- delete (*handler_iter).second.first;
- }
-}
-
-void
-TAO_DP_Dispatcher::
-register_handler(const char* name,
- TAO_DP_Evaluation_Handler* handler,
- CORBA::Boolean release_on_delete)
-{
- string prop_name(name);
- TAO_DP_Dispatcher::HANDLER_MAP::iterator handlers_iter =
- this->handlers_.find(prop_name);
-
- // Set up the handler to receive evaluations for prop_name
- if (handlers_iter == this->handlers_.end())
- this->handlers_[prop_name] = make_pair (handler, release_on_delete);
-}
-
-CosTradingDynamic::DynamicProp*
-TAO_DP_Dispatcher::
-construct_dynamic_prop (const char* name,
- CORBA::TypeCode_ptr returned_type,
- const CORBA::Any& extra_info)
-{
- CosTradingDynamic::DynamicProp* dp_struct = 0;
-
- ACE_NEW_RETURN (dp_struct, CosTradingDynamic::DynamicProp, 0);
-
- TAO_TRY
- {
- CosTradingDynamic::DynamicPropEval* dp_eval = this->_this (TAO_TRY_ENV);
-
-#if defined TAO_HAS_DYNAMIC_PROPERTY_BUG
- CORBA::ORB_ptr orb = TAO_ORB_Core_instance ()-> orb ();
- dp_struct->eval_if = orb->object_to_string (dp_eval, TAO_TRY_ENV);
-#else
- dp_struct->eval_if = dp_eval;
-#endif /* TAO_HAS_DYNAMIC_PROPERTY_BUG */
-
- TAO_CHECK_ENV;
-
- dp_struct->returned_type =
- CORBA::TypeCode::_duplicate (returned_type);
- dp_struct->extra_info = extra_info;
- }
- TAO_CATCHANY
- {
- return 0;
- }
- TAO_ENDTRY;
-
- return dp_struct;
-}
-
-
-TAO_DP_Evaluation_Handler*
-TAO_DP_Dispatcher::remove_handler(const char* name)
-{
- string prop_name(name);
- TAO_DP_Evaluation_Handler* handler = 0;
- HANDLER_MAP::iterator handlers_iter = this->handlers_.find(prop_name);
-
- if (handlers_iter != this->handlers_.end())
- {
- handler = (*handlers_iter).second.first;
- this->handlers_.erase(handlers_iter);
- }
-
- return handler;
-}
-
-CORBA::Any*
-TAO_DP_Dispatcher::evalDP(const char* name,
- CORBA::TypeCode_ptr returned_type,
- const CORBA::Any& extra_info,
- CORBA::Environment& _env)
- TAO_THROW_SPEC ((CORBA::SystemException,
- CosTradingDynamic::DPEvalFailure))
-{
- string prop_name(name);
- CORBA::Any* result = 0;
- HANDLER_MAP::iterator handlers_iter = this->handlers_.find(prop_name);
-
- if (handlers_iter != this->handlers_.end())
- {
- TAO_DP_Evaluation_Handler* handler = (*handlers_iter).second.first;
- result = handler->evalDP (extra_info, returned_type, _env);
- TAO_CHECK_ENV_RETURN (_env, result);
-
- if (! returned_type->equal(result->type(), _env))
- {
- TAO_THROW_RETURN (CosTradingDynamic::DPEvalFailure
- (name, returned_type, extra_info),
- result);
- }
- }
- else
- {
- TAO_THROW_RETURN (CosTradingDynamic::DPEvalFailure
- (name, returned_type, extra_info),
- result);
- }
-
- return result;
-}