diff options
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/Ice/StreamI.cpp | 13 | ||||
-rw-r--r-- | cpp/src/Ice/StreamI.h | 13 |
2 files changed, 20 insertions, 6 deletions
diff --git a/cpp/src/Ice/StreamI.cpp b/cpp/src/Ice/StreamI.cpp index 04e616c0a49..08487647785 100644 --- a/cpp/src/Ice/StreamI.cpp +++ b/cpp/src/Ice/StreamI.cpp @@ -671,6 +671,19 @@ OutputStreamI::finished(vector<Byte>& bytes) vector<Byte>(_os->b.begin(), _os->b.end()).swap(bytes); } +pair<const Byte*, const Byte*> +OutputStreamI::finished() +{ + if(_os->b.empty()) + { + return pair<const Byte*, const Byte*>(reinterpret_cast<Ice::Byte*>(0), reinterpret_cast<Ice::Byte*>(0)); + } + else + { + return pair<const Byte*, const Byte*>(&_os->b[0], &_os->b[0] + _os->b.size()); + } +} + void OutputStreamI::reset(bool clearBuffer) { diff --git a/cpp/src/Ice/StreamI.h b/cpp/src/Ice/StreamI.h index f1490faddc2..30b21efe76b 100644 --- a/cpp/src/Ice/StreamI.h +++ b/cpp/src/Ice/StreamI.h @@ -57,17 +57,17 @@ public: virtual void endSlice(); virtual void skipSlice(); - virtual Ice::EncodingVersion startEncapsulation(); + virtual EncodingVersion startEncapsulation(); virtual void endEncapsulation(); - virtual Ice::EncodingVersion skipEncapsulation(); + virtual EncodingVersion skipEncapsulation(); - virtual Ice::EncodingVersion getEncoding() const; + virtual EncodingVersion getEncoding() const; virtual void readPendingObjects(); virtual void rewind(); - virtual void skip(Ice::Int); + virtual void skip(Int); virtual void skipSize(); virtual void read(bool&); @@ -163,15 +163,16 @@ public: virtual void startSlice(const std::string&, int, bool); virtual void endSlice(); - virtual void startEncapsulation(const Ice::EncodingVersion&, FormatType); + virtual void startEncapsulation(const EncodingVersion&, FormatType); virtual void startEncapsulation(); virtual void endEncapsulation(); - virtual Ice::EncodingVersion getEncoding() const; + virtual EncodingVersion getEncoding() const; virtual void writePendingObjects(); virtual void finished(std::vector< Byte >&); + virtual std::pair<const Byte*, const Byte*> finished(); virtual void reset(bool); |