Stock NameConsumer implementation for the Stock Quoter Publisher/Subscriber Real-time CORBA Service
Implementation of StockNameConsumer interface
This interface is used as a callback interface used by the Stock Distributor server to notify Stock Broker clients 
of updates. This class is ALSO used as a signal handler to catch SIGINT and properly unsubscribe from the Stock 
Distributor server.
The Stock_StockNameConsumer_i class is generated automatically by the IDL compiler (using the -GI flag),
which is a subclass of POA_Stock::StockNameConsumer class. 
Implementing the Constructor
    Stock_StockNameConsumer_i::Stock_StockNameConsumer_i (Stock_StockBroker_i &context,
                                                          const char *stock_name)
      : context_ (context),
        stock_name_ (stock_name)
The "context_" and "stock_name_" are two private members of the Stock_StockNameConsumer_i class. They stand for the
context of the StockNameConsumer object and the name of the stock to listen to respectively. 
Implementing the push_StockName () member function
The main steps of this function are described as follows: 
Verify this is the correct stock: Check if the StockName parameter in this function is equal to
the "stock_name_" private member. If this is not the stock that we are interested in then we need to stop
and return. 
Get the quoter for the connection from the context_ private member.
    Stock::StockQuoter_var quoter = context_->get_connection_quoter_info ();
Request more information from the quoter.
    Stock::StockInfo_var stock_info = quoter->get_stock_info (the_stockname->name());
Implementing the access operations of the cookie attribute.
Get the cookie attribute:
    return this->cookie_.in ();
Set the cookie attribute:
    this->cookie_ = cookie;
    cookie->_add_ref ();
Email: shanshan.jiang@vanderbilt.edu