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/test/Ice/invoke/BlobjectI.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/test/Ice/invoke/BlobjectI.cpp')
-rwxr-xr-x | cpp/test/Ice/invoke/BlobjectI.cpp | 54 |
1 files changed, 32 insertions, 22 deletions
diff --git a/cpp/test/Ice/invoke/BlobjectI.cpp b/cpp/test/Ice/invoke/BlobjectI.cpp index efef3052383..2076528ab47 100755 --- a/cpp/test/Ice/invoke/BlobjectI.cpp +++ b/cpp/test/Ice/invoke/BlobjectI.cpp @@ -15,10 +15,11 @@ using namespace std; bool -invokeInternal(const Ice::InputStreamPtr& in, vector<Ice::Byte>& outParams, const Ice::Current& current) +invokeInternal(const Ice::InputStreamPtr& in, vector<Ice::Byte>& outEncaps, const Ice::Current& current) { Ice::CommunicatorPtr communicator = current.adapter->getCommunicator(); Ice::OutputStreamPtr out = Ice::createOutputStream(communicator); + out->startEncapsulation(); if(current.operation == "opOneway") { return true; @@ -26,28 +27,36 @@ invokeInternal(const Ice::InputStreamPtr& in, vector<Ice::Byte>& outParams, cons else if(current.operation == "opString") { string s; + in->startEncapsulation(); in->read(s); + in->endEncapsulation(); out->write(s); out->write(s); - out->finished(outParams); + out->endEncapsulation(); + out->finished(outEncaps); return true; } else if(current.operation == "opException") { Test::MyException ex; out->writeException(ex); - out->finished(outParams); + out->endEncapsulation(); + out->finished(outEncaps); return false; } else if(current.operation == "shutdown") { + out->endEncapsulation(); + out->finished(outEncaps); communicator->shutdown(); return true; } else if(current.operation == "ice_isA") { string s; + in->startEncapsulation(); in->read(s); + in->endEncapsulation(); if(s == "::Test::MyClass") { out->write(true); @@ -56,7 +65,8 @@ invokeInternal(const Ice::InputStreamPtr& in, vector<Ice::Byte>& outParams, cons { out->write(false); } - out->finished(outParams); + out->endEncapsulation(); + out->finished(outEncaps); return true; } else @@ -70,48 +80,48 @@ invokeInternal(const Ice::InputStreamPtr& in, vector<Ice::Byte>& outParams, cons } bool -BlobjectI::ice_invoke(const vector<Ice::Byte>& inParams, vector<Ice::Byte>& outParams, const Ice::Current& current) +BlobjectI::ice_invoke(const vector<Ice::Byte>& inEncaps, vector<Ice::Byte>& outEncaps, const Ice::Current& current) { - Ice::InputStreamPtr in = Ice::createInputStream(current.adapter->getCommunicator(), inParams); - return invokeInternal(in, outParams, current); + Ice::InputStreamPtr in = Ice::createInputStream(current.adapter->getCommunicator(), inEncaps); + return invokeInternal(in, outEncaps, current); } bool -BlobjectArrayI::ice_invoke(const pair<const Ice::Byte*, const Ice::Byte*>& inParams, vector<Ice::Byte>& outParams, +BlobjectArrayI::ice_invoke(const pair<const Ice::Byte*, const Ice::Byte*>& inEncaps, vector<Ice::Byte>& outEncaps, const Ice::Current& current) { - Ice::InputStreamPtr in = Ice::createInputStream(current.adapter->getCommunicator(), inParams); - return invokeInternal(in, outParams, current); + Ice::InputStreamPtr in = Ice::createInputStream(current.adapter->getCommunicator(), inEncaps); + return invokeInternal(in, outEncaps, current); } void -BlobjectAsyncI::ice_invoke_async(const Ice::AMD_Object_ice_invokePtr& cb, const vector<Ice::Byte>& inParams, +BlobjectAsyncI::ice_invoke_async(const Ice::AMD_Object_ice_invokePtr& cb, const vector<Ice::Byte>& inEncaps, const Ice::Current& current) { - Ice::InputStreamPtr in = Ice::createInputStream(current.adapter->getCommunicator(), inParams); - vector<Ice::Byte> outParams; - bool ok = invokeInternal(in, outParams, current); - cb->ice_response(ok, outParams); + Ice::InputStreamPtr in = Ice::createInputStream(current.adapter->getCommunicator(), inEncaps); + vector<Ice::Byte> outEncaps; + bool ok = invokeInternal(in, outEncaps, current); + cb->ice_response(ok, outEncaps); } void BlobjectArrayAsyncI::ice_invoke_async(const Ice::AMD_Object_ice_invokePtr& cb, - const pair<const Ice::Byte*, const Ice::Byte*>& inParams, + const pair<const Ice::Byte*, const Ice::Byte*>& inEncaps, const Ice::Current& current) { - Ice::InputStreamPtr in = Ice::createInputStream(current.adapter->getCommunicator(), inParams); - vector<Ice::Byte> outParams; - bool ok = invokeInternal(in, outParams, current); + Ice::InputStreamPtr in = Ice::createInputStream(current.adapter->getCommunicator(), inEncaps); + vector<Ice::Byte> outEncaps; + bool ok = invokeInternal(in, outEncaps, current); #if (defined(_MSC_VER) && (_MSC_VER >= 1600)) pair<const Ice::Byte*, const Ice::Byte*> outPair(nullptr, nullptr); #else pair<const Ice::Byte*, const Ice::Byte*> outPair(0, 0); #endif - if(outParams.size() != 0) + if(outEncaps.size() != 0) { - outPair.first = &outParams[0]; - outPair.second = &outParams[0] + outParams.size(); + outPair.first = &outEncaps[0]; + outPair.second = &outEncaps[0] + outEncaps.size(); } cb->ice_response(ok, outPair); } |