Previous Table of Contents Next


22.10.3 Example


   The example IDL causes the generation of the following additional IDL when asynchronous polling operations are to be used. This IDL is “real? in that the valuetypes described here are normal CORBA valuetypes.

   // AMI implied-IDL of type-specific Poller // for original example IDL defined in Section 22.5 valuetype AMI_StockManagerPoller : Messaging::Poller {

   void get_stock_exchange_name( in unsigned long timeout, out string ami_return_val)

   raises (CORBA::WrongTransaction); void set_stock_exchange_name( in unsigned long timeout) raises (CORBA::WrongTransaction);

   void add_stock( in unsigned long timeout, out boolean ami_return_val)

   raises (CORBA::WrongTransaction); void edit_stock( in unsigned long timeout) raises (InvalidStock, CORBA::WrongTransaction);

   void remove_stock( in unsigned long timeout, out double quote)

   raises (InvalidStock, CORBA::WrongTransaction);

   void find_closest_symbol( in unsigned long timeout, out boolean ami_return_val, out string symbol)

   raises (CORBA::WrongTransaction);

   void get_quote( in unsigned long timeout, out double ami_return_val)

   raises (InvalidStock, CORBA::WrongTransaction);

   attribute AMI_StockManagerHandler associated_handler; };

   valuetype AMI_StockManagerPersistentPoller : AMI_StockManagerPoller { MessageRouting::PersistentRequest request; };