3.15.4.3. Asynchronous Messaging Mapping Example
interface StockManager
{
attribute string stock_exchange_name;
boolean add_stock (in string symbol, in double quote);
void remove_stock (in string symbol, out double quote) raises (InvalidStock);
};
void sendc_get_stock_exchange_name (
in AMI_StockManagerHandler ami_handler);
void sendc_set_stock_exchange_name (
in AMI_StockManagerHandler ami_handler,
in string attr_stock_exchange_name);
void sendc_add_stock (
in AMI_StockManagerHandler ami_handler,
in string symbol,
in double quote);
void sendc_remove_stock (
in AMI_StockManagerHandler ami_handler,
in string symbol);
AMI_StockManagerPoller sendp_get_stock_exchange_name ();
AMI_StockManagerPoller sendp_set_stock_exchange_name (
in string attr_stock_exchange_name);
AMI_StockManagerPoller sendp_add_stock (
in string symbol, in double quote);
AMI_StockManagerPoller sendp_remove_stock (
in string symbol);
interface AMI_StockManagerHandler : Messaging::ReplyHandler
{
void get_stock_exchange_name (
in string ami_return_val);
void get_stock_exchange_name_excep (
in Messaging::ExceptionHolder excep_holder);
void set_stock_exchange_name ();
void set_stock_exchange_name_excep (
in Messaging::ExceptionHolder excep_holder);
void add_stock (in boolean ami_return_val);
void add_stock_excep (
in Messaging::ExceptionHolder excep_holder);
void remove_stock (in double quote);
void remove_stock_excep (
in Messaging::ExceptionHolder excep_holder);
};
valuetype AMI_StockManagerPoller : Messaging::Poller
{
void get_stock_exchange_name (
in unsigned long timeout,
out string ami_return_val);
void set_stock_exchange_name (
in unsigned long timeout);
void add_stock (
in unsigned long timeout,
out boolean ami_return_val);
void remove_stock (
in unsigned long timeout,
out double quote) raises (InvalidStock);
};