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

# Exception.cpp File Reference

`#include "ace/streams.h"`
`#include "ace/Dynamic_Service.h"`
`#include "tao/Exception.h"`
`#include "tao/Typecode.h"`
`#include "tao/Environment.h"`
`#include "tao/Any.h"`
`#include "tao/CDR.h"`
`#include "tao/ORB.h"`
`#include "tao/ORB_Core.h"`
`#include "tao/Dynamic_Adapter.h"`
`#include "tao/Exception.i"`

Include dependency graph for Exception.cpp:

## Defines
#define | STANDARD_EXCEPTION_LIST
#define | TAO_TC_BUF_LEN 256
#define | TAO_SYSTEM_EXCEPTION(name)
## Functions
ostream& | operator<< (ostream &os, const CORBA_Exception &e)
STANDARD_EXCEPTION_LIST void | tao_insert_for_insertion_system_exception (CORBA::Any &any, const CORBA::SystemException &ex, const char *msg)
STANDARD_EXCEPTION_LIST void | tao_insert_system_exception (CORBA::Any &any, CORBA::SystemException *ex, CORBA::Any::_tao_destructor destructor, const char *msg)
STANDARD_EXCEPTION_LIST CORBA::Boolean | tao_insert_in_extractor_system_exception ( const CORBA::Any &any, CORBA::SystemException *&tmp, CORBA::SystemException * (*allocator)(void), CORBA::TypeCode_ptr tc_name, CORBA::Any::_tao_destructor destructor, const char *compare_IR_Id, const char *msg)
## Variables
CORBA::TypeCode_ptr | TC_completion_status

## Define Documentation

#define STANDARD_EXCEPTION_LIST

#define TAO_SYSTEM_EXCEPTION( | name )

| Initializer:
    \
    CORBA::Boolean operator>>= (const CORBA::Any &any, \
                                const CORBA_##name *&ex) \
    { \
      ex = 0; \
      CORBA_SystemException *tmp; \
      if (tao_insert_in_extractor_system_exception (any, \
           tmp, \
           _tao_allocator_##name, \
           CORBA::_tc_##name, \
           CORBA_##name ::_tao_any_destructor, \
           "IDL:omg.org/CORBA/" #name ":1.0", \
           "\tCORBA::Any extraction of CORBA_" #name "\n") == 0) \
             { \
                 ex = 0; \
             return 0; \
             } \
     ex = (CORBA_##name*)tmp; \
     return 1; \
    }

#define TAO_SYSTEM_EXCEPTION( | name )

| Initializer:
    \
    static CORBA_SystemException* _tao_allocator_##name (void) \
    { \
      return new CORBA_##name; \
    }

#define TAO_SYSTEM_EXCEPTION( | name )

| Initializer:
    \
    void operator<<= (CORBA::Any &any, CORBA_##name *ex) \
    { \
      tao_insert_system_exception (any, ex, \
              CORBA_##name ::_tao_any_destructor, \
              "\tCORBA::Any insertion (non-copy) of CORBA_" #name "\n" \
                                   ); \
    }

#define TAO_SYSTEM_EXCEPTION( | name )

| Initializer:
    \
    void operator<<= (CORBA::Any &any, const CORBA_##name &ex) \
    { \
      tao_insert_for_insertion_system_exception (any, ex, \
                "\tCORBA::Any insertion (non-copy) of CORBA_" #name "\n" \
                                   ); \
    }

#define TAO_SYSTEM_EXCEPTION( | name )

| Initializer:
    \
    void \
    CORBA_##name ::_tao_any_destructor (void *x) \
    { \
      CORBA_##name *tmp = ACE_static_cast (CORBA_##name *, x); \
      delete tmp; \
    }

#define TAO_SYSTEM_EXCEPTION( | name )

| Initializer:
    \
    CORBA::TypeCode_ptr \
    CORBA_##name ::_type (void) const \
    { \
      return CORBA::_tc_ ## name; \
    }

#define TAO_SYSTEM_EXCEPTION( | name )

| Initializer:
    \
    CORBA_##name :: CORBA_##name (void) \
      :  CORBA_SystemException ("IDL:omg.org/CORBA/" #name ":1.0", \
                                TAO_DEFAULT_MINOR_CODE, \
                                CORBA::COMPLETED_NO) \
    { \
    }

#define TAO_SYSTEM_EXCEPTION( | name )

| Initializer:
    \
    void \
    CORBA_##name ::_raise (void) \
    { \
      TAO_RAISE (*this); \
    }

#define TAO_SYSTEM_EXCEPTION( | name )

| Initializer:
    \
    CORBA_##name * \
    CORBA_##name ::_downcast (CORBA_Exception* exception) \
    { \
      if (exception->_is_a ("IDL:omg.org/CORBA/" #name ":1.0")) \
        return ACE_dynamic_cast (CORBA_##name *, exception); \
      return 0; \
    }

#define TAO_SYSTEM_EXCEPTION( | name )

| Initializer:
    \
    int \
    CORBA_##name ::_is_a (const char* interface_id) const \
    { \
      return ((ACE_OS_String::strcmp ( \
                   interface_id, \
                   "IDL:omg.org/CORBA/" #name ":1.0") == 0) \
              || CORBA_SystemException::_is_a (interface_id)); \
    }

#define TAO_SYSTEM_EXCEPTION( | name )

| Initializer:
    \
      CORBA::release (CORBA::_tc_ ## name); \
      CORBA::_tc_ ## name = 0;

#define TAO_SYSTEM_EXCEPTION( | name )

| Initializer:
    \
      { \
        const char* xid = "IDL:omg.org/CORBA/" #name ":1.0"; \
        if (ACE_OS_String::strcmp (id, xid) == 0) \
          return new CORBA:: name; \
      }

#define TAO_SYSTEM_EXCEPTION( | name )

| Initializer:
    \
      TAO_Exceptions::make_standard_typecode (CORBA::_tc_ ## name, \
                                              #name, \
                                              (char*)tc_buf_##name, \
                                              sizeof(tc_buf_##name), \
                                              ACE_TRY_ENV); \
      ACE_CHECK;

#define TAO_SYSTEM_EXCEPTION( | name )

| Initializer:
    \
        static CORBA::Long tc_buf_##name[TAO_TC_BUF_LEN/sizeof(CORBA::Long)]; \
        TAO_NAMESPACE_TYPE(CORBA::TypeCode_ptr) \
        TAO_NAMESPACE_BEGIN (CORBA) \
        TAO_NAMESPACE_DEFINE (CORBA::TypeCode_ptr, _tc_##name, 0) \
        TAO_NAMESPACE_END

#define TAO_TC_BUF_LEN 256

## Function Documentation

ostream & operator<< ( | ostream & os,
| const CORBA_Exception & e )

STANDARD_EXCEPTION_LIST void tao_insert_for_insertion_system_exception ( | CORBA::Any & any,
| const CORBA::SystemException & ex,
| const char * msg )`[static]`

STANDARD_EXCEPTION_LIST CORBA::Boolean tao_insert_in_extractor_system_exception ( | const CORBA::Any & any,
| CORBA::SystemException *& tmp,
| CORBA::SystemException *(* allocator)(void),
| CORBA::TypeCode_ptr tc_name,
| CORBA::Any::_tao_destructor destructor,
| const char * compare_IR_Id,
| const char * msg )`[static]`

STANDARD_EXCEPTION_LIST void tao_insert_system_exception ( | CORBA::Any & any,
| CORBA::SystemException * ex,
| CORBA::Any::_tao_destructor destructor,
| const char * msg )`[static]`

## Variable Documentation

CORBA::TypeCode_ptr TC_completion_status