summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/StreamI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/StreamI.cpp')
-rw-r--r--cpp/src/Ice/StreamI.cpp25
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();