summaryrefslogtreecommitdiff
path: root/TAO/tao/Sequence.h
diff options
context:
space:
mode:
authorcoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-08-11 16:07:09 +0000
committercoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-08-11 16:07:09 +0000
commit122bd4f12d1695a589fb6820b507168fd1927b9f (patch)
tree6de07d4183b01a3311bfe5fb2b4eb0a5d6185426 /TAO/tao/Sequence.h
parent204ce54bb8ee19238781a890d6b90849d4d2005d (diff)
downloadATCD-122bd4f12d1695a589fb6820b507168fd1927b9f.tar.gz
ChangeLogTag:Tue Aug 11 10:51:36 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
Diffstat (limited to 'TAO/tao/Sequence.h')
-rw-r--r--TAO/tao/Sequence.h27
1 files changed, 21 insertions, 6 deletions
diff --git a/TAO/tao/Sequence.h b/TAO/tao/Sequence.h
index 28b57018333..816845bc653 100644
--- a/TAO/tao/Sequence.h
+++ b/TAO/tao/Sequence.h
@@ -390,11 +390,6 @@ public:
~TAO_Unbounded_Sequence (void);
// see TAO_Unbounded_Sequence in "Sequence_T.h"
- TAO_Unbounded_Sequence (CORBA::ULong length,
- const ACE_Message_Block* mb);
- // Create a sequence of octets from a single message block (i.e. it
- // ignores any chaining in the meesage block).
-
TAO_Unbounded_Sequence (const TAO_Unbounded_Sequence<CORBA::Octet> &);
TAO_Unbounded_Sequence<CORBA::Octet>& operator= (const TAO_Unbounded_Sequence<CORBA::Octet> &);
// The copy constructor and assignment operators *do* copy the data,
@@ -405,6 +400,8 @@ public:
CORBA::Octet &operator[] (CORBA::ULong);
const CORBA::Octet &operator[] (CORBA::ULong) const;
// See the general description in "Sequence_T.h"
+ // NOTE: This last two methods can be rendered useless in certain
+ // cases, see below.
// = Static operations.
@@ -423,21 +420,39 @@ public:
// = orbos/98-01-11 proposed extensions.
CORBA::Octet *get_buffer (CORBA::Boolean orphan = CORBA::B_FALSE);
const CORBA::Octet *get_buffer (void) const;
+ // NOTE: This last two methods can be rendered useless in certain
+ // cases, see below.
void replace (CORBA::ULong max,
CORBA::ULong length,
CORBA::Octet *data,
CORBA::Boolean release = CORBA::B_FALSE);
// See the general description of this methods in "Sequence_T.h".
- // = TAO extension
+ // = TAO extensions
+
ACE_Message_Block* mb (void) const;
// Returns the underlying message block, the caller must *not*
// release the copy.
+ TAO_Unbounded_Sequence (CORBA::ULong length,
+ const ACE_Message_Block* mb);
+ // Create a sequence of octets from a single message block (i.e. it
+ // ignores any chaining in the meesage block).
+
void replace (CORBA::ULong length, const ACE_Message_Block* mb);
// Replaces the current buffer with <mb>, using only <length> bytes.
// It takes a duplicate of <mb> so the user still owns it.
+ //
+ // NOTE:
+ // In the last two methods if the <mb> is the head of a chain then
+ // the following methods are not warranteed to work properly:
+ // operator[]
+ // get_buffer ()
+ // the main purpose of this method is to support custom marshaling;
+ // so the complete chain is marshaled when the octet sequence is.
+ //
+
private:
ACE_Message_Block* mb_;
};