Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

CORBA_Exception Class Reference

CORBA_Exception. More...

#include <Exception.h>

Inheritance diagram for CORBA_Exception

Inheritance graph
[legend]
List of all members.

Public Methods

 CORBA_Exception (const CORBA_Exception &src)
 Copy constructor.

CORBA_Exception& operator= (const CORBA_Exception &src)
 Assignment operator.

virtual ~CORBA_Exception (void)
 Destructor.

virtual void _raise (void) = 0
const char* _id (void) const
 Return the repository ID of the Exception.

virtual CORBA::TypeCode_ptr _type (void) const
 Will be overridden in the concrete derived classes.

virtual int _is_a (const char* repository_id) const
 CORBA_Exception (const char* repository_id)
 Constructor from a respository id.

void _tao_print_exception (const char *info, FILE *f = stdout) const
 Print the exception <ex> to output determined by <f>. This function is not CORBA compliant.

virtual ACE_CString _info (void) const = 0
 Returns a string containing information about the exception. This function is not CORBA compliant.

virtual void _tao_encode (TAO_OutputCDR &cdr, CORBA::Environment &) const = 0
virtual void _tao_decode (TAO_InputCDR &cdr, CORBA::Environment &) = 0
CORBA::ULong _incr_refcnt (void)
CORBA::ULong _decr_refcnt (void)

Static Public Methods

CORBA_Exception* _downcast (CORBA_Exception *x)
void _tao_any_destructor (void *)
 Used in the non-copying Any insertion operator.


Protected Methods

 CORBA_Exception (void)

Private Attributes

char* id_
 Storage of our repository id.

CORBA::ULong refcount_
 Reference count to avoid copying overhead.

TAO_SYNCH_MUTEX refcount_lock_

Detailed Description

CORBA_Exception.

CORBA2-specified exception hierarchy. All exceptions have a type (represented by a TypeCode) and a widely scoped type ID (in the TypeCode) that generated by any OMG-IDL compiler and available through the Interface Repositories. Think of it as a "globally scoped" name distinguishing each exception.


Constructor & Destructor Documentation

CORBA_Exception::CORBA_Exception ( const CORBA_Exception & src )
 

Copy constructor.

CORBA_Exception::~CORBA_Exception ( void ) [virtual]
 

Destructor.

CORBA_Exception::CORBA_Exception ( const char * repository_id )
 

Constructor from a respository id.

CORBA_Exception::CORBA_Exception ( void ) [protected]
 


Member Function Documentation

CORBA::ULong CORBA_Exception::_decr_refcnt ( void )
 

ACE_INLINE CORBA_Exception * CORBA_Exception::_downcast ( CORBA_Exception * ex ) [static]
 

Reimplemented in CORBA_UserException, CORBA_SystemException, CORBA_ORB::InvalidName, CORBA_TypeCode::Bounds, and CORBA_TypeCode::BadKind.

const char * CORBA_Exception::_id ( void ) const
 

Return the repository ID of the Exception.

CORBA::ULong CORBA_Exception::_incr_refcnt ( void )
 

ACE_CString CORBA_Exception::_info ( void ) const [pure virtual]
 

Returns a string containing information about the exception. This function is not CORBA compliant.

Reimplemented in CORBA_UserException, and CORBA_SystemException.

int CORBA_Exception::_is_a ( const char * interface_id ) const [virtual]
 

Reimplemented in CORBA_UserException, CORBA_SystemException, CORBA_TypeCode::Bounds, and CORBA_TypeCode::BadKind.

virtual void CORBA_Exception::_raise ( void ) [pure virtual]
 

Reimplemented in CORBA_ORB::InvalidName, CORBA_TypeCode::Bounds, and CORBA_TypeCode::BadKind.

void CORBA_Exception::_tao_any_destructor ( void * x ) [static]
 

Used in the non-copying Any insertion operator.

virtual void CORBA_Exception::_tao_decode ( TAO_InputCDR & cdr,
CORBA::Environment & ACE_TRY_ENV ) [pure virtual]
 

Reimplemented in CORBA_SystemException, CORBA_ORB::InvalidName, CORBA_TypeCode::Bounds, and CORBA_TypeCode::BadKind.

virtual void CORBA_Exception::_tao_encode ( TAO_OutputCDR & cdr,
CORBA::Environment & ACE_TRY_ENV ) const [pure virtual]
 

Reimplemented in CORBA_SystemException, CORBA_ORB::InvalidName, CORBA_TypeCode::Bounds, and CORBA_TypeCode::BadKind.

void CORBA_Exception::_tao_print_exception ( const char * info,
FILE * f = stdout ) const
 

Print the exception <ex> to output determined by <f>. This function is not CORBA compliant.

CORBA::TypeCode_ptr CORBA_Exception::_type ( void ) const [virtual]
 

Will be overridden in the concrete derived classes.

CORBA_Exception & CORBA_Exception::operator= ( const CORBA_Exception & src )
 

Assignment operator.


Member Data Documentation

char * CORBA_Exception::id_ [private]
 

Storage of our repository id.

CORBA::ULong CORBA_Exception::refcount_ [private]
 

Reference count to avoid copying overhead.

TAO_SYNCH_MUTEX CORBA_Exception::refcount_lock_ [private]
 

Mutex to protect the reference count; though in most cases this class is used only in one thread adding a mutex here is *not* expensive, because uses of this class should never be on the critical path.


The documentation for this class was generated from the following files:
Generated at Sat Dec 1 12:05:17 2001 for TAO by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000