TAO_Dynamic_Property Class Reference

Little helper class that you can extend to have your dynamic property handler construct CosTradingDynamic::DynamicProp structs. More...

#include <Trader_Utils.h>

List of all members.

Public Member Functions

 TAO_Dynamic_Property (void)
virtual ~TAO_Dynamic_Property (void)
void destroy (void)
virtual CORBA::Any * evalDP (const char *name, CORBA::TypeCode_ptr returned_type, const CORBA::Any &extra_info)=0 throw (CORBA::SystemException, CosTradingDynamic::DPEvalFailure)
 Dynamic property evaluation call-back method.

CosTradingDynamic::DynamicPropconstruct_dynamic_prop (const char *name, CORBA::TypeCode_ptr returned_type, const CORBA::Any &extra_info)

Private Attributes

CosTradingDynamic::DynamicPropEval_var prop_


Detailed Description

Little helper class that you can extend to have your dynamic property handler construct CosTradingDynamic::DynamicProp structs.

Definition at line 185 of file Trader_Utils.h.


Constructor & Destructor Documentation

TAO_Dynamic_Property::TAO_Dynamic_Property void   )  [inline]
 

Definition at line 190 of file Trader_Utils.h.

00190 {}

TAO_Dynamic_Property::~TAO_Dynamic_Property void   )  [virtual]
 

Definition at line 444 of file Trader_Utils.cpp.

00445 {
00446 }


Member Function Documentation

CosTradingDynamic::DynamicProp * TAO_Dynamic_Property::construct_dynamic_prop const char *  name,
CORBA::TypeCode_ptr  returned_type,
const CORBA::Any &  extra_info
 

Method to construct a dynamic property structure suitable for exporting in a CosTrading::PropertyStruct to the Trading Service.

Definition at line 450 of file Trader_Utils.cpp.

References ACE_CHECK_RETURN, ACE_DECLARE_NEW_CORBA_ENV, ACE_ENV_SINGLE_ARG_PARAMETER, ACE_NEW_RETURN, CosTradingDynamic::DynamicProp::eval_if, CosTradingDynamic::DynamicProp::extra_info, prop_, and CosTradingDynamic::DynamicProp::returned_type.

00453 {
00454   ACE_UNUSED_ARG (name);
00455 
00456   CosTradingDynamic::DynamicProp* dp_struct = 0;
00457 
00458   ACE_NEW_RETURN (dp_struct,
00459                   CosTradingDynamic::DynamicProp,
00460                   0);
00461 
00462   if (this->prop_.in () == CosTradingDynamic::DynamicPropEval::_nil ())
00463     {
00464       // Seth, we need a way to either propagate exceptions out.
00465       ACE_DECLARE_NEW_CORBA_ENV;
00466 
00467       this->prop_ = this->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
00468       ACE_CHECK_RETURN (0);
00469 
00470       this->_remove_ref (ACE_ENV_SINGLE_ARG_PARAMETER);
00471       ACE_CHECK_RETURN (0);
00472     }
00473 
00474   dp_struct->eval_if =
00475     CosTradingDynamic::DynamicPropEval::_duplicate (this->prop_.in ());
00476 
00477   dp_struct->returned_type =
00478     CORBA::TypeCode::_duplicate (returned_type);
00479   dp_struct->extra_info = extra_info;
00480 
00481   return dp_struct;
00482 }

void TAO_Dynamic_Property::destroy void   ) 
 

Definition at line 485 of file Trader_Utils.cpp.

References ACE_CHECK, ACE_DECLARE_NEW_CORBA_ENV, ACE_ENV_ARG_PARAMETER, ACE_ENV_SINGLE_ARG_PARAMETER, and prop_.

00486 {
00487   if (this->prop_.in () != CosTradingDynamic::DynamicPropEval::_nil ())
00488     {
00489       // @@ Seth, we need a way to propagate exceptions out.
00490       ACE_DECLARE_NEW_CORBA_ENV;
00491       PortableServer::POA_var poa = this->_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
00492       ACE_CHECK;
00493 
00494       PortableServer::ObjectId_var id =
00495         poa->servant_to_id (this
00496                             ACE_ENV_ARG_PARAMETER);
00497       ACE_CHECK;
00498 
00499       poa->deactivate_object (id.in ()
00500                               ACE_ENV_ARG_PARAMETER);
00501       ACE_CHECK;
00502     }
00503 }

virtual CORBA::Any* TAO_Dynamic_Property::evalDP const char *  name,
CORBA::TypeCode_ptr  returned_type,
const CORBA::Any &  extra_info
throw (CORBA::SystemException, CosTradingDynamic::DPEvalFailure) [pure virtual]
 

Dynamic property evaluation call-back method.


Member Data Documentation

CosTradingDynamic::DynamicPropEval_var TAO_Dynamic_Property::prop_ [private]
 

Definition at line 212 of file Trader_Utils.h.

Referenced by construct_dynamic_prop(), and destroy().


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 14:00:50 2006 for TAO_CosTrader by doxygen 1.3.6