#include <HxConfigureServant.h>
Inheritance diagram for HxConfigureServant::

| Public Methods | |
| HxConfigureServant () | |
| virtual | ~HxConfigureServant () | 
| virtual void | shutdown () throw (CORBA::SystemException) | 
| virtual HxCorba::ObjectUsage_ptr | getDefaultObjectUsage () throw (CORBA::SystemException) | 
| virtual HxCorba::ObjectUsage_ptr | getObjectUsage (const char *name) throw (CORBA::SystemException) | 
| virtual HxCorba::StringSeq * | listObjectUsages () throw (CORBA::SystemException) | 
| 
 | 
| 
 
 00090 {
00091     _rootPOA = HxServer::instance()->getRootPOA();
00092 }
 | 
| 
 | 
| 
 
 00095 {
00096 }
 | 
| 
 | 
| 
 Reimplemented from POA_HxCorba::Configure. 
 00101 {
00102     HxServer::instance()->shutdown();
00103 }
 | 
| 
 | 
| 
 Reimplemented from POA_HxCorba::Configure. 
 00108 {
00109     HxDataObjectManager* mgr =  HxDataObjectManager::getDefault();
00110     HxObjectUsageServant* servant = new HxObjectUsageServant(mgr);
00111 
00112     _rootPOA->activate_object(servant);
00113     CORBA::Object_var obj = _rootPOA->servant_to_reference(servant);
00114 
00115     //We don't need anymore the servant. The POA has increased
00116     //the ref count: after this _remofe_ref the ref count will be 1
00117     servant->_remove_ref();
00118     return HxCorba::ObjectUsage::_narrow(obj);
00119 }
 | 
| 
 | 
| 
 
 00124 {
00125     HxDataObjectManager* mgr =  HxDataObjectManager::get(name);
00126     HxObjectUsageServant* servant = new HxObjectUsageServant(mgr);
00127 
00128     _rootPOA->activate_object(servant);
00129     CORBA::Object_var obj = _rootPOA->servant_to_reference(servant);
00130 
00131     //We don't need anymore the servant. The POA has increased
00132     //the ref count: after this _remofe_ref the ref count will be 1
00133     servant->_remove_ref();
00134     return HxCorba::ObjectUsage::_narrow(obj);
00135 }
 | 
| 
 | 
| 
 Reimplemented from POA_HxCorba::Configure. 
 00140 {
00141     HxStringList nameList;
00142     HxDataObjectManager::getNameList(std::back_inserter(nameList));
00143 
00144     HxCorba::StringSeq_var seq = new HxCorba::StringSeq();
00145     seq->length(nameList.size());
00146 
00147     HxStringList::const_iterator it = nameList.begin();
00148     for(int i=0; it != nameList.end(); i++, it++)
00149         seq[i] = it->c_str();
00150 
00151     return seq._retn();
00152 }
 | 
 1.2.12 written by Dimitri van Heesch,
 © 1997-2001
1.2.12 written by Dimitri van Heesch,
 © 1997-2001