//$Id: StockBroker.idl 79796 2007-10-18 18:17:30Z sowayaa $

#ifndef STOCKBROKER_IDL
#define STOCKBROKER_IDL

#include "../Stock_Base/Stock_Base.idl"

module Stock
{
  interface StockSubscriber {
    /// subscribe to an interested stock
    void stock_subscribe (in string stock_name)
          raises (Invalid_Stock);
    /// unsubscribe to an stock
    void stock_unsubscribe (in string stock_name)
          raises (Invalid_Stock);
  };

  /**
   * @class StockBroker
   *
   * @brief component
   */
  component StockBroker supports StockSubscriber
  {
    consumes StockName notify_in;
    uses StockQuoter read_quoter;
  };

  /**
   * @class StockBrokerHome
   *
   * @brief home for StockBroker component
   */
  home StockBrokerHome manages StockBroker
  {
  };
};

#endif /* STOCKBROKER_IDL */
