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

HxEnvCorbaObject Class Template Reference

Use this class in the implementation of objects that keep error messages (like Constructor, GlobalOps, ...), but only in the operations that return other objects. More...

#include <HxEnvCorbaObject.h>

List of all members.

Public Types

typedef TiedSvtT::HxT HxT
typedef TiedSvtT::CorbaT CorbaT

Public Methods

 HxEnvCorbaObject (HxMessageHolder *holder)
virtual STD_OSTREAM & errorStream ()
virtual void flush ()
CorbaTreturnObject (const HxT &obj)


Detailed Description

template<class TiedSvtT>
class HxEnvCorbaObject< TiedSvtT >

Use this class in the implementation of objects that keep error messages (like Constructor, GlobalOps, ...), but only in the operations that return other objects.

This class registers an HxEnvironment that prints messages in the given HxMessageHolder and provides a function to return the resulting object (returnObject):

if(some error has happened) return NIL object else register servant and return object

After the call to returnObject, HxEnvCorbaObject becomes inactive: it behaves as the base HxEnvironment (output to console).


Member Typedef Documentation

template<class TiedSvtT>
typedef TiedSvtT::HxT HxEnvCorbaObject::HxT
 

template<class TiedSvtT>
typedef TiedSvtT::CorbaT HxEnvCorbaObject::CorbaT
 


Constructor & Destructor Documentation

template<class TiedSvtT>
HxEnvCorbaObject< TiedSvtT >::HxEnvCorbaObject HxMessageHolder   holder
 

00019     : _holder(holder)
00020 {
00021     _holder->clearMessage();
00022     _active = 1;
00023 
00024     HxEnvironment::setEnvironment(this);
00025 }


Member Function Documentation

template<class TiedSvtT>
STD_OSTREAM & HxEnvCorbaObject< TiedSvtT >::errorStream   [virtual]
 

00030 {
00031     if(_active)
00032         return _holder->errorStream();
00033     else
00034         return HxEnvironment::errorStream();
00035 }

template<class TiedSvtT>
void HxEnvCorbaObject< TiedSvtT >::flush   [virtual]
 

00040 {
00041     if(_active)
00042         _holder->flush();
00043     else
00044         HxEnvironment::flush();
00045 }

template<class TiedSvtT>
HxEnvCorbaObject< TiedSvtT >::CorbaT * HxEnvCorbaObject< TiedSvtT >::returnObject const HxT   obj
 

00051 {
00052     _active = 0;
00053 
00054     if(_holder->hasError()) 
00055         return CorbaT::_nil();
00056     else
00057         return HxRegisterTiedServant<TiedSvtT>(obj);
00058 }


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