Public Types |
typedef ACE_OutputCDR::from_boolean | from_boolean |
typedef ACE_OutputCDR::from_octet | from_octet |
typedef ACE_OutputCDR::from_char | from_char |
typedef ACE_OutputCDR::from_wchar | from_wchar |
typedef ACE_OutputCDR::from_string | from_string |
typedef ACE_OutputCDR::from_wstring | from_wstring |
typedef ACE_InputCDR::to_boolean | to_boolean |
typedef ACE_InputCDR::to_char | to_char |
typedef ACE_InputCDR::to_wchar | to_wchar |
typedef ACE_InputCDR::to_octet | to_octet |
typedef ACE_InputCDR::to_string | to_string |
typedef ACE_InputCDR::to_wstring | to_wstring |
typedef void(* | _tao_destructor )(void *) |
| Generated data types define a 'destructor' function that correctly destroys an object stored in the Any. More...
|
typedef CORBA_Any_ptr | _ptr_type |
typedef CORBA_Any_var | _var_type |
enum | { UNINITIALIZED_type = 0xf000,
VALUE_WITHOUT_TYPE,
UNSUPPORTED_OPERATION
} |
Public Methods |
| CORBA_Any (void) |
| Default constructor. More...
|
| CORBA_Any (CORBA::TypeCode_ptr type) |
| Constructor. More...
|
| CORBA_Any (CORBA::TypeCode_ptr type, CORBA::UShort dummy, int byte_order, const ACE_Message_Block *mb) |
| Constructor. More...
|
| CORBA_Any (const CORBA_Any &a) |
| Copy constructor. More...
|
| ~CORBA_Any (void) |
| Destructor. More...
|
CORBA_Any & | operator= (const CORBA_Any &) |
| assignment operator. More...
|
void | operator<<= (CORBA::Short) |
| Insert a short. More...
|
void | operator<<= (CORBA::UShort) |
| Insert an unsigned short. More...
|
void | operator<<= (CORBA::Long) |
| Insert a long. More...
|
void | operator<<= (CORBA::ULong) |
| Insert an unsigned long. More...
|
void | operator<<= (CORBA::LongLong) |
| Insert a long long. More...
|
void | operator<<= (CORBA::ULongLong) |
| Insert an unsigned long long. More...
|
void | operator<<= (CORBA::Float) |
| Insert a float. More...
|
void | operator<<= (CORBA::Double) |
| Insert a double. More...
|
void | operator<<= (CORBA::LongDouble) |
| Insert a long double. More...
|
void | operator<<= (const CORBA_Any &) |
| Insert an Any, copying. More...
|
void | operator<<= (CORBA_Any_ptr) |
| Insert an Any, non-copying. More...
|
void | operator<<= (const char *) |
| Insert unbounded string. More...
|
void | operator<<= (const CORBA::WChar *) |
| Insert unbounded wide string. More...
|
void | operator<<= (CORBA::TypeCode_ptr) |
| Insert a TypeCode. More...
|
void | operator<<= (const CORBA::Object_ptr) |
| Insert an object reference, copying. More...
|
void | operator<<= (CORBA::Object_ptr *) |
| Insert an object reference, non-copying. Any assumes the ownership of the object. More...
|
CORBA::Boolean | operator>>= (CORBA::Short &) const |
| Extract a short. More...
|
CORBA::Boolean | operator>>= (CORBA::UShort &) const |
| Extract an unsigned short. More...
|
CORBA::Boolean | operator>>= (CORBA::Long &) const |
| Extract a long. More...
|
CORBA::Boolean | operator>>= (CORBA::ULong &) const |
| Extract an unsigned long. More...
|
CORBA::Boolean | operator>>= (CORBA::LongLong &) const |
| Extract a long long. More...
|
CORBA::Boolean | operator>>= (CORBA::ULongLong &) const |
| Extract an unsigned long long. More...
|
CORBA::Boolean | operator>>= (CORBA::Float &) const |
| Extract a float. More...
|
CORBA::Boolean | operator>>= (CORBA::Double &) const |
| Extract a double. More...
|
CORBA::Boolean | operator>>= (CORBA::LongDouble &) const |
| Extract a long double. More...
|
CORBA::Boolean | operator>>= (CORBA_Any &) const |
| Extract an Any. More...
|
CORBA::Boolean | operator>>= (const CORBA_Any *&) const |
CORBA::Boolean | operator>>= (CORBA::TypeCode_ptr &) const |
| Extract a TypeCode. More...
|
CORBA::Boolean | operator>>= (const char *&) const |
| Extract an unbounded string. More...
|
CORBA::Boolean | operator>>= (const CORBA::WChar *&) const |
| Extract an unbounded wide string. More...
|
void | operator<<= (from_boolean) |
| Insert a boolean. More...
|
void | operator<<= (from_char) |
| Insert a char. More...
|
void | operator<<= (from_wchar) |
| Insert a wchar. More...
|
void | operator<<= (from_octet) |
| Insert an octet. More...
|
void | operator<<= (from_string) |
| Insert a bounded string. More...
|
void | operator<<= (from_wstring) |
| Insert a bounded wide string. More...
|
void | operator<<= (const CORBA_Exception &exception) |
| Insert an exception into the Any (copying). More...
|
void | operator<<= (CORBA_Exception *exception) |
| Insert an exception into the Any (non-copying). More...
|
CORBA::Boolean | operator>>= (to_boolean) const |
| extract a boolean. More...
|
CORBA::Boolean | operator>>= (to_octet) const |
| extract an octet. More...
|
CORBA::Boolean | operator>>= (to_char) const |
| extract a char. More...
|
CORBA::Boolean | operator>>= (to_wchar) const |
| extract a wchar. More...
|
CORBA::Boolean | operator>>= (to_string) const |
| extract a bounded string. More...
|
CORBA::Boolean | operator>>= (to_wstring) const |
| extract a bounded wide string. More...
|
CORBA::Boolean | operator>>= (to_object) const |
| extract an object reference. More...
|
CORBA::Boolean | operator>>= (to_abstract_base) const |
| extract an abstract interface. More...
|
CORBA::Boolean | operator>>= (to_value) const |
| extract a valuetype. More...
|
CORBA::TypeCode_ptr | type (void) const |
| Return TypeCode of the element stored in the Any. More...
|
void | type (CORBA::TypeCode_ptr type ACE_ENV_ARG_DECL_WITH_DEFAULTS) |
| For use along with <<= of a value of aliased type when the alias must be preserved. More...
|
const void * | value (void) const |
| Returns 0 if the Any has not been assigned a value, following the CORBA spec (ORBOS/98-01-11) it returns a non-zero value otherwise. More...
|
CORBA::Boolean | any_owns_data (void) const |
| Reports whether the Any own the data or not. More...
|
CORBA::Boolean | contains_local (void) const |
| Reports whether the Any contains (at some level) a local type. More...
|
void | contains_local (CORBA::Boolean val) |
| Set the member contains_local_. More...
|
ACE_Message_Block * | _tao_get_cdr (void) const |
| Message block accessor. Get the byte order inside the CDR stream. More...
|
int | _tao_byte_order (void) const |
void | _tao_replace (CORBA::TypeCode_ptr, int byte_order, const ACE_Message_Block *mb) |
| Replace via message block instead of <value_>. More...
|
void | _tao_replace (CORBA::TypeCode_ptr type, int byte_order, const ACE_Message_Block *mb, CORBA::Boolean any_owns_data, void *value, CORBA::Any::_tao_destructor destructor) |
| Replace all the contents of the any, used in the <<= operators. More...
|
void | _tao_replace (CORBA::TypeCode_ptr type, CORBA::Boolean any_owns_data, void *value, CORBA::Any::_tao_destructor destructor) |
| Replace the value of the Any, used in the >>= operators. More...
|
void | _tao_encode (TAO_OutputCDR &cdr, TAO_ORB_Core *orb_core ACE_ENV_ARG_DECL) |
| Encode the contents of the Any into <cdr>. More...
|
void | _tao_decode (TAO_InputCDR &cdr ACE_ENV_ARG_DECL) |
| Decode the <cdr> using the typecode in the Any object. More...
|
Static Public Methods |
void | _tao_any_destructor (void *) |
| Used to release Anys contained into anys. More...
|
void | _tao_any_string_destructor (void *) |
void | _tao_any_wstring_destructor (void *) |
void | _tao_any_tc_destructor (void *) |
Protected Methods |
void | free_value (void) |
| Release the <value_>. More...
|
Private Methods |
void | operator<<= (unsigned char) |
CORBA::Boolean | operator>>= (unsigned char &) const |
Private Attributes |
CORBA::TypeCode_var | type_ |
| Typecode for the <Any>. More...
|
int | byte_order_ |
| encoded value. More...
|
ACE_Message_Block * | cdr_ |
CORBA::Boolean | any_owns_data_ |
| Flag that indicates the ORB is responsible for deleting the data. More...
|
CORBA::Boolean | contains_local_ |
| Flag that indicates the Any contains (at some level) a locality-. More...
|
void * | value_ |
| Value for the <Any>. More...
|
CORBA::Any::_tao_destructor | destructor_ |
| If not zero this is the function used to destroy objects. More...
|
Friends |
class | CORBA_NVList |
class | TAO_Marshal_Any |
This includes three constructors, a destructor, and a "replace" method for the "Any" data type. "Any" values pair a pointer to a data structure in the native binary representation (e.g. C struct) with a TypeCode that describes that data structure. The copy constructor and the destructor each use the TypeCode interpreter with specialized "visit" callback routines. The "visit" routines are used respectively to make "deep copies" and perform "deep frees" of the aritrary values as described by the "Any" value's typecode. Note that these "visit" routines are called directly, and they choose whether or not to use the TypeCode interpreter to examine constituents. In the simple cases, the "visit" routines can do their work without any further calls; only for constructed types is the interpreter's knowledge really required. THREADING NOTE: "Any" is a data structure which must be protected by external critical sections. Like simpler numeric types, "Any" instances are accessed and modified atomically. This implementation is reentrant, so that independent "Any" values may be manipulated concurrently when the underlying programming environment is itself reentrant.