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_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 |
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 | |
|
) |
| | |
#define ACE_NEW_THROW_EX |
( |
|
POINTER, |
|
|
|
CONSTRUCTOR, |
|
|
|
EXCEPTION | |
|
) |
| | |
Value:do { POINTER = new CONSTRUCTOR; \
if (POINTER == 0) { throw EXCEPTION; } \
} while (0)
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 | |
|
) |
| | |
#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)
Value:do { \
int ACE_TRY_FLAG = 1; \
int ACE_EXCEPTION_NOT_CAUGHT = 1; \
ACE_TRY_LABEL: \
if (ACE_TRY_FLAG) \
do {
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 {
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 | |
|
) |
| | |