diff options
author | Benoit Foucher <benoit@zeroc.com> | 2012-04-18 14:33:16 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2012-04-18 14:33:16 +0200 |
commit | 2ba4d4e0ca7aeade69ee00ab17d5fa1b69372ffc (patch) | |
tree | 0a381f9b284eb7ca5acc9bca5a97659d19874f9d /cpp/src/Ice/StreamI.cpp | |
parent | ICE-4828 - Buffer.h undeclared ptrdiff_t issue on OpenSUSE (diff) | |
download | ice-2ba4d4e0ca7aeade69ee00ab17d5fa1b69372ffc.tar.bz2 ice-2ba4d4e0ca7aeade69ee00ab17d5fa1b69372ffc.tar.xz ice-2ba4d4e0ca7aeade69ee00ab17d5fa1b69372ffc.zip |
Added support for encoding versioning
Diffstat (limited to 'cpp/src/Ice/StreamI.cpp')
-rw-r--r-- | cpp/src/Ice/StreamI.cpp | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/cpp/src/Ice/StreamI.cpp b/cpp/src/Ice/StreamI.cpp index f9937495fb5..20dff9d928b 100644 --- a/cpp/src/Ice/StreamI.cpp +++ b/cpp/src/Ice/StreamI.cpp @@ -16,6 +16,8 @@ #endif #include <Ice/StreamI.h> +#include <Ice/Instance.h> +#include <Ice/DefaultsAndOverrides.h> #include <Ice/Initialize.h> #include <Ice/LocalException.h> @@ -29,7 +31,8 @@ using namespace IceInternal; Ice::InputStreamI::InputStreamI(const Ice::CommunicatorPtr& communicator, const vector<Byte>& data) : _communicator(communicator) { - _is = new BasicStream(getInstance(communicator).get(), true); + Instance* instance = getInstance(communicator).get(); + _is = new BasicStream(instance, instance->defaultsAndOverrides()->defaultEncoding, true); _is->closure(this); _is->writeBlob(data); _is->i = _is->b.begin(); @@ -38,7 +41,8 @@ Ice::InputStreamI::InputStreamI(const Ice::CommunicatorPtr& communicator, const Ice::InputStreamI::InputStreamI(const Ice::CommunicatorPtr& communicator, const pair<const Byte*, const Byte*>& data) : _communicator(communicator) { - _is = new BasicStream(getInstance(communicator).get(), true); + Instance* instance = getInstance(communicator).get(); + _is = new BasicStream(instance, instance->defaultsAndOverrides()->defaultEncoding, true); _is->closure(this); _is->writeBlob(data.first, data.second - data.first); _is->i = _is->b.begin(); @@ -420,10 +424,10 @@ Ice::InputStreamI::endSlice() _is->endReadSlice(); } -void +Ice::EncodingVersion Ice::InputStreamI::startEncapsulation() { - _is->startReadEncaps(); + return _is->startReadEncaps(); } void @@ -432,10 +436,10 @@ Ice::InputStreamI::endEncapsulation() _is->endReadEncapsChecked(); } -void +Ice::EncodingVersion Ice::InputStreamI::skipEncapsulation() { - _is->skipEncaps(); + return _is->skipEncaps(); } void @@ -465,7 +469,8 @@ Ice::OutputStreamI::OutputStreamI(const Ice::CommunicatorPtr& communicator, Basi { if(!_os) { - _os = new BasicStream(getInstance(communicator).get(), true); + Instance* instance = getInstance(communicator).get(); + _os = new BasicStream(instance, instance->defaultsAndOverrides()->defaultEncoding, true); } _os->closure(this); } @@ -641,6 +646,12 @@ Ice::OutputStreamI::endSlice() } void +Ice::OutputStreamI::startEncapsulation(const Ice::EncodingVersion& version) +{ + _os->startWriteEncaps(version); +} + +void Ice::OutputStreamI::startEncapsulation() { _os->startWriteEncaps(); |