Public Types |
| typedef CORBA_NVList_ptr | _ptr_type |
| typedef CORBA_NVList_var | _var_type |
Public Methods |
| | ~CORBA_NVList (void) |
| | destructor. More...
|
| CORBA::ULong | count (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) const |
| | return the current number of elements in the list. More...
|
| CORBA_NamedValue_ptr | add (CORBA::Flags ACE_ENV_ARG_DECL_WITH_DEFAULTS) |
| | add an element and just initialize the flags. More...
|
| CORBA_NamedValue_ptr | add_item (const char *, CORBA::Flags ACE_ENV_ARG_DECL_WITH_DEFAULTS) |
| | add an element and initialize its name and flags. More...
|
| CORBA_NamedValue_ptr | add_value (const char *, const CORBA::Any &, CORBA::Flags ACE_ENV_ARG_DECL_WITH_DEFAULTS) |
| | initializes a value, name, and flags. More...
|
| CORBA_NamedValue_ptr | add_item_consume (char *, CORBA::Flags ACE_ENV_ARG_DECL_WITH_DEFAULTS) |
| | just like add_item. In addition, memory management of char * name is taken over by the NVList. More...
|
| CORBA_NamedValue_ptr | add_value_consume (char *, CORBA::Any_ptr, CORBA::Flags ACE_ENV_ARG_DECL_WITH_DEFAULTS) |
| | just like add_value. In addition, the NVList controls the memory management of the char *name and Any *value parameter. More...
|
| CORBA_NamedValue_ptr | item (CORBA::ULong n ACE_ENV_ARG_DECL_WITH_DEFAULTS) |
| | retrieve the item at the nth location. Raises Bounds. More...
|
| void | remove (CORBA::ULong n ACE_ENV_ARG_DECL_WITH_DEFAULTS) |
| | remove element at index n. Raises Bounds. More...
|
| CORBA::ULong | _incr_refcnt (void) |
| CORBA::ULong | _decr_refcnt (void) |
| void | _tao_incoming_cdr (TAO_InputCDR &cdr, int flag, int &lazy_evaluation ACE_ENV_ARG_DECL) |
| | Set the incoming CDR stream, this is used by TAO to perform lazy evaluation of the NVList in an incoming ServerRequest. More...
|
| void | _tao_encode (TAO_OutputCDR &cdr, TAO_ORB_Core *orb_core, int flag ACE_ENV_ARG_DECL_WITH_DEFAULTS) |
| | Encode the NVList into the CDR stream. <flag> masks the type of arguments (IN, OUT or INOUT) that are to be marshaled. More...
|
| void | _tao_decode (TAO_InputCDR &cdr, int flag ACE_ENV_ARG_DECL) |
| | Decode the NVList arguments from the <cdr> stream. More...
|
| ptr_arith_t | _tao_target_alignment (void) |
| | Return the required alignment to marshal the NVList without any re-alignment. More...
|
| CORBA::Boolean | _lazy_has_arguments (void) const |
| | If this list is used by a DII request, this will tell us if our CDR stream contains any marshaled arguments (needed for GIOP 1.2). More...
|
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. More...
|
| CORBA_NamedValue_ptr | add_element (CORBA::Flags ACE_ENV_ARG_DECL_WITH_DEFAULTS) |
| | helper to increase the list size. This is used by all the add_ methods of the NVList class. More...
|
| void | evaluate (ACE_ENV_SINGLE_ARG_DECL) |
| | Lazy evaluation routine to fill up the Anys in the NVList from the CDR stream. More...
|
Private Attributes |
| ACE_Unbounded_Queue< CORBA_NamedValue_ptr > | values_ |
| | internal list of parameters stored as NamedValues. More...
|
| CORBA::ULong | max_ |
| | maximum length of list. More...
|
| CORBA::ULong | refcount_ |
| | maintains how many references exist to this object. More...
|
| TAO_SYNCH_MUTEX | refcount_lock_ |
| | Protects the reference count. More...
|
| TAO_InputCDR * | incoming_ |
| | When the NVList is used as part of a Server Request we can simply store the CDR buffer and perform lazy evaluation to compute the Anys. More...
|
| int | incoming_flag_ |
| | The flags used to check which parameters are actually extracted from the <incoming_> buffer. More...
|
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.