Defines

CORBA_macros.h File Reference

Defines

#define ACE_del_bad_alloc
#define ACE_ENV_TYPE   CORBA::Environment
#define ACE_TRY_ENV   _ACE_CORBA_Environment_variable
#define ACE_EXCEPTION_TYPE   CORBA::Exception
#define ACE_DEFAULT_GET_ENV_METHOD   TAO_default_environment
#define ACE_ANY_EXCEPTION   ex
#define ACE_DECLARE_NEW_ENV   ACE_ENV_TYPE ACE_TRY_ENV
#define ACE_ADOPT_ENV(ENV)   ACE_ENV_TYPE &ACE_TRY_ENV = ENV
#define ACE_CHECK
#define ACE_CHECK_RETURN(RETV)
#define ACE_THROW_INT(EXCEPTION)   ACE_TRY_ENV.exception (new EXCEPTION)
#define ACE_THROW(EXCEPTION)
#define ACE_THROW_RETURN(EXCEPTION, RETV)
#define ACE_TRY
#define ACE_TRY_NEW_ENV
#define ACE_TRY_EX(LABEL)
#define ACE_TRY_CHECK
#define ACE_TRY_CHECK_EX(LABEL)
#define ACE_TRY_THROW(EXCEPTION)
#define ACE_TRY_THROW_EX(EXCEPTION, LABEL)
#define ACE_CATCH(TYPE, VAR)
#define ACE_CATCHANY   ACE_CATCH (ACE_EXCEPTION_TYPE, ACE_ANY_EXCEPTION)
#define ACE_CATCHALL   ACE_CATCHANY
#define ACE_RE_THROW
#define ACE_RE_THROW_EX(LABEL)
#define ACE_ENDTRY
#define ACE_NEW_THROW_EX(POINTER, CONSTRUCTOR, EXCEPTION)
#define ACE_GUARD_THROW_EX(MUTEX, OBJ, LOCK, EXCEPTION)
#define ACE_READ_GUARD_THROW_EX(MUTEX, OBJ, LOCK, EXCEPTION)
#define ACE_WRITE_GUARD_THROW_EX(MUTEX, OBJ, LOCK, EXCEPTION)

Detailed Description

Id:
CORBA_macros.h 91285 2010-08-05 08:29:30Z johnnyw

Writing code that is portable between platforms with or without native C++ exceptions is hard. The following macros offer some help on this task, mostly oriented to making the ORB code and the IDL generated code portable.

Author:
Nanbor Wang <nanbor@cs.wustl.edu>
Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com>
Carlos O'Ryan <coryan@uci.edu>, et al.

Define Documentation

#define ACE_ADOPT_ENV (   ENV  )     ACE_ENV_TYPE &ACE_TRY_ENV = ENV
#define ACE_ANY_EXCEPTION   ex
#define ACE_CATCH (   TYPE,
  VAR 
)
Value:
} while (0); \
   do \
     if (ACE_TRY_ENV.exception () != 0 && ACE_EXCEPTION_NOT_CAUGHT && \
       TYPE::_downcast(ACE_TRY_ENV.exception ()) != 0) \
       { \
         ACE_ENV_TYPE ACE_CAUGHT_ENV = ACE_TRY_ENV;\
         ACE_EXCEPTION_NOT_CAUGHT = 0; \
         TYPE &VAR = *TYPE::_downcast (ACE_CAUGHT_ENV.exception ()); \
         ACE_UNUSED_ARG (VAR); \
         ACE_TRY_ENV.clear ();
#define ACE_CATCHALL   ACE_CATCHANY
#define ACE_CATCHANY   ACE_CATCH (ACE_EXCEPTION_TYPE, ACE_ANY_EXCEPTION)
#define ACE_CHECK
Value:
if (ACE_TRY_ENV . exception () != 0) \
      return
#define ACE_CHECK_RETURN (   RETV  ) 
Value:
if (ACE_TRY_ENV . exception () != 0) \
      return RETV
#define ACE_DECLARE_NEW_ENV   ACE_ENV_TYPE ACE_TRY_ENV
#define ACE_DEFAULT_GET_ENV_METHOD   TAO_default_environment
#define ACE_del_bad_alloc
#define ACE_ENDTRY
Value:
} while (0); \
    } while (0)
#define ACE_ENV_TYPE   CORBA::Environment
#define ACE_EXCEPTION_TYPE   CORBA::Exception
#define ACE_GUARD_THROW_EX (   MUTEX,
  OBJ,
  LOCK,
  EXCEPTION 
)
Value:
ACE_Guard< MUTEX > OBJ (LOCK); \
    if (OBJ.locked () == 0) throw EXCEPTION;
#define ACE_NEW_THROW_EX (   POINTER,
  CONSTRUCTOR,
  EXCEPTION 
)
Value:
do { POINTER = new CONSTRUCTOR;                               \
    if (POINTER == 0) { throw EXCEPTION; }                      \
  } while (0)
#define ACE_RE_THROW
Value:
do {\
      ACE_TRY_ENV = ACE_CAUGHT_ENV; \
      goto ACE_TRY_LABEL; \
    } while (0)
#define ACE_RE_THROW_EX (   LABEL  ) 
Value:
do {\
      ACE_TRY_ENV = ACE_CAUGHT_ENV; \
      goto ACE_TRY_LABEL ## LABEL; \
    } while (0)
#define ACE_READ_GUARD_THROW_EX (   MUTEX,
  OBJ,
  LOCK,
  EXCEPTION 
)
Value:
ACE_Read_Guard< MUTEX > OBJ (LOCK); \
    if (OBJ.locked () == 0) throw EXCEPTION;
#define ACE_THROW (   EXCEPTION  ) 
Value:
do \
      { \
        ACE_TRY_ENV.exception (new EXCEPTION); \
        return; \
      } while (0)
#define ACE_THROW_INT (   EXCEPTION  )     ACE_TRY_ENV.exception (new EXCEPTION)
#define ACE_THROW_RETURN (   EXCEPTION,
  RETV 
)
Value:
do \
      { \
        ACE_TRY_ENV.exception (new EXCEPTION); \
        return RETV; \
      } while (0)
#define ACE_TRY
Value:
do { \
     int ACE_TRY_FLAG = 1; \
     int ACE_EXCEPTION_NOT_CAUGHT = 1; \
   ACE_TRY_LABEL: \
     if (ACE_TRY_FLAG) \
       do {
#define ACE_TRY_CHECK
Value:
{ \
      if (ACE_TRY_ENV.exception () != 0) \
        { \
          ACE_TRY_FLAG = 0; \
          goto ACE_TRY_LABEL; \
        } \
    }
#define ACE_TRY_CHECK_EX (   LABEL  ) 
Value:
{ \
      if (ACE_TRY_ENV.exception () != 0) \
        { \
          ACE_TRY_FLAG = 0; \
          goto ACE_TRY_LABEL ## LABEL; \
        } \
    }
#define ACE_TRY_ENV   _ACE_CORBA_Environment_variable
#define ACE_TRY_EX (   LABEL  ) 
Value:
do { \
     int ACE_TRY_FLAG = 1; \
     int ACE_EXCEPTION_NOT_CAUGHT = 1; \
   ACE_TRY_LABEL ## LABEL: \
     if (ACE_TRY_FLAG) \
       do {
#define ACE_TRY_NEW_ENV
Value:
do { \
     ACE_DECLARE_NEW_ENV;\
     int ACE_TRY_FLAG = 1; \
     int ACE_EXCEPTION_NOT_CAUGHT = 1; \
   ACE_TRY_LABEL: \
     if (ACE_TRY_FLAG) \
       do {
#define ACE_TRY_THROW (   EXCEPTION  ) 
Value:
{ \
      ACE_TRY_ENV.exception (new EXCEPTION); \
      ACE_TRY_FLAG = 0; \
      goto ACE_TRY_LABEL; \
    }
#define ACE_TRY_THROW_EX (   EXCEPTION,
  LABEL 
)
Value:
{ \
      ACE_TRY_ENV.exception (new EXCEPTION); \
      ACE_TRY_FLAG = 0; \
      goto ACE_TRY_LABEL ## LABEL; \
    }
#define ACE_WRITE_GUARD_THROW_EX (   MUTEX,
  OBJ,
  LOCK,
  EXCEPTION 
)
Value:
ACE_Write_Guard< MUTEX > OBJ (LOCK); \
    if (OBJ.locked () == 0) throw EXCEPTION;
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines