blob: 5a3321dd472ef1311d240d6b0e9822e62e8eb5c7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#include "Stock_Factory_i.h"
Quoter_Stock_Factory_i::Quoter_Stock_Factory_i (PortableServer::POA_ptr poa)
: stock_factory_poa_ (PortableServer::POA::_duplicate (poa))
{
}
Quoter::Stock_ptr
Quoter_Stock_Factory_i::get_stock (const char *symbol)
{
PortableServer::ObjectId_var oid =
PortableServer::string_to_ObjectId (symbol);
try {
CORBA::Object_var tmp =
this->stock_factory_poa_->id_to_reference (oid.in ());
return Quoter::Stock::_narrow (tmp.in ());
}
catch (PortableServer::POA::ObjectNotActive &) {
throw Quoter::Invalid_Stock_Symbol ();
}
}
|