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.