diff options
author | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-08-11 16:07:09 +0000 |
---|---|---|
committer | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-08-11 16:07:09 +0000 |
commit | 122bd4f12d1695a589fb6820b507168fd1927b9f (patch) | |
tree | 6de07d4183b01a3311bfe5fb2b4eb0a5d6185426 /TAO/tao/Sequence.h | |
parent | 204ce54bb8ee19238781a890d6b90849d4d2005d (diff) | |
download | ATCD-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.h | 27 |
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_; }; |