/* -*- C++ -*- */

//=============================================================================
/**
 *  @file   CosTradingDynamic.idl
 *
 *  $Id$
 *
 * Trader  Service v1.0 described in CORBAservices: Common Object
 * Services Specification, chapter 16 OMG IDL for Trading Function
 * Module, p 16-74
 *
 *
 */
//=============================================================================


#ifndef TAO_TRADING_DYNAMIC_IDL
#define TAO_TRADING_DYNAMIC_IDL

#include <orb.idl>
#include "CosTrading.idl"

#pragma prefix "omg.org"

// OMG IDL for Dynamic Property  Module, p 16-88

module CosTradingDynamic
{

  exception DPEvalFailure {
    CosTrading::PropertyName name;
    CORBA::TypeCode returned_type;
    any extra_info;
  };

  interface DynamicPropEval
    {
      any evalDP (in CosTrading::PropertyName name,
                  in CORBA::TypeCode returned_type,
                  in any extra_info)
        raises (DPEvalFailure);
    };

    struct DynamicProp {
      DynamicPropEval eval_if;
      CORBA::TypeCode returned_type;
      any extra_info;
    };
}; /* end module CosTradingDynamic */

#endif /* TAO_TRADING_DYNAMIC_IDL  */
