Public Types |
typedef CORBA_NVList_ptr | _ptr_type |
typedef CORBA_NVList_var | _var_type |
Public Methods |
| ~CORBA_NVList (void) |
| destructor.
|
CORBA::ULong | count (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) const |
| return the current number of elements in the list.
|
CORBA_NamedValue_ptr | add (CORBA::Flags, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) |
| add an element and just initialize the flags.
|
CORBA_NamedValue_ptr | add_item (const char *, CORBA::Flags, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) |
| add an element and initialize its name and flags.
|
CORBA_NamedValue_ptr | add_value (const char *, const CORBA::Any &, CORBA::Flags, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) |
| initializes a value, name, and flags.
|
CORBA_NamedValue_ptr | add_item_consume (char *, CORBA::Flags, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) |
| just like add_item. In addition, memory management of char * name is taken over by the NVList.
|
CORBA_NamedValue_ptr | add_value_consume (char *, CORBA::Any_ptr, CORBA::Flags, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) |
| just like add_value. In addition, the NVList controls the memory management of the char *name and Any *value parameter.
|
CORBA_NamedValue_ptr | item (CORBA::ULong n, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) |
| retrieve the item at the nth location. Raises Bounds.
|
void | remove (CORBA::ULong n, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) |
| remove element at index n. Raises Bounds.
|
CORBA::ULong | _incr_refcnt (void) |
CORBA::ULong | _decr_refcnt (void) |
void | _tao_incoming_cdr (TAO_InputCDR &cdr, int flag, int &lazy_evaluation, CORBA::Environment &ACE_TRY_ENV) |
void | _tao_encode (TAO_OutputCDR &cdr, TAO_ORB_Core *orb_core, int flag, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) |
| Encode the NVList into the CDR stream. <flag> masks the type of arguments (IN, OUT or INOUT) that are to be marshaled.
|
void | _tao_decode (TAO_InputCDR &cdr, int flag, CORBA::Environment &ACE_TRY_ENV) |
| Decode the NVList arguments from the <cdr> stream.
|
ptr_arith_t | _tao_target_alignment (void) |
CORBA::Boolean | _lazy_has_arguments (void) const |
Static Public Methods |
CORBA_NVList* | _duplicate (CORBA_NVList*) |
CORBA_NVList* | _nil (void) |
Private Methods |
| CORBA_NVList (void) |
| constructor - cannot be instantiated directly other than through the ORB::create_list method.
|
CORBA_NamedValue_ptr | add_element (CORBA::Flags, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) |
| helper to increase the list size. This is used by all the add_ methods of the NVList class.
|
void | evaluate (CORBA::Environment &ACE_TRY_ENV) |
| Lazy evaluation routine to fill up the Anys in the NVList from the CDR stream.
|
Private Attributes |
ACE_Unbounded_Queue<CORBA_NamedValue_ptr> | values_ |
| internal list of parameters stored as NamedValues.
|
CORBA::ULong | max_ |
| maximum length of list.
|
CORBA::ULong | refcount_ |
| maintains how many references exist to this object.
|
TAO_SYNCH_MUTEX | refcount_lock_ |
| Protects the reference count.
|
TAO_InputCDR* | incoming_ |
int | incoming_flag_ |
| The flags used to check which parameters are actually extracted from the <incoming_> buffer.
|
Friends |
class | CORBA_ORB |
class | CORBA_Request |
Each user (client, server) provides the typecode and memory for each parameter using an NVList, then talks to the ORB using a Request or ServerRequest pseudo-object. The ORB copies data to/from the IPC messages (e.g. IIOP::Request, IIOP::Response) as appropriate.