#ifndef STOCK_FACTORY_IMPL_H
#define STOCK_FACTORY_IMPL_H

#include <string>
#include <Quote_skel.h>
#include <Stock_impl.h>

using namespace std;

class Quote_Stock_Factory_impl: public POA_Quote::Stock_Factory, public PortableServer::RefCountServantBase{

public:
  Quote_Stock_Factory_impl(CORBA::ORB_ptr orb);

  virtual Quote::Stock_ptr getStock(const char* pSymbol) throw (Quote::InvalidStockSymbol, CORBA::SystemException);

  virtual void shutdown() throw (CORBA::SystemException);

private:
  CORBA::ORB_var orb_;

  /* for testing purposes only: create some predefined objects and simply
     return them later
   */
  //  Quote_Stock_impl ibm;
  //  Quote_Stock_impl sun;
};

#endif

