Horus Doc || Corba Reference || Corba   Client Server   Stubs C++   Stubs Java   Servant Generator  

HxConfigureServant Class Reference

Servant for the Configure interface. More...

#include <HxConfigureServant.h>

Inheritance diagram for HxConfigureServant::

POA_HxCorba::Configure List of all members.

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::StringSeqlistObjectUsages () throw (CORBA::SystemException)

Detailed Description

Servant for the Configure interface.


Constructor & Destructor Documentation

HxConfigureServant::HxConfigureServant  
 

00090 {
00091     _rootPOA = HxServer::instance()->getRootPOA();
00092 }

HxConfigureServant::~HxConfigureServant   [virtual]
 

00095 {
00096 }


Member Function Documentation

void HxConfigureServant::shutdown   throw (CORBA::SystemException) [virtual]
 

Reimplemented from POA_HxCorba::Configure.

00101 {
00102     HxServer::instance()->shutdown();
00103 }

HxCorba::ObjectUsage_ptr HxConfigureServant::getDefaultObjectUsage   throw (CORBA::SystemException) [virtual]
 

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 }

HxCorba::ObjectUsage_ptr HxConfigureServant::getObjectUsage const char *    name throw (CORBA::SystemException) [virtual]
 

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 }

HxCorba::StringSeq * HxConfigureServant::listObjectUsages   throw (CORBA::SystemException) [virtual]
 

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 }


The documentation for this class was generated from the following files:
Generated on Mon Jan 27 15:20:54 2003 for CorbaReference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001