diff options
author | Matthew Newhook <matthew@zeroc.com> | 2007-09-20 14:56:29 +0800 |
---|---|---|
committer | Matthew Newhook <matthew@zeroc.com> | 2007-09-20 14:56:29 +0800 |
commit | 1122cb76c9d14c00e892d76ba088e33da3b81d11 (patch) | |
tree | d753f950b1dda0f6a48a431f13f21c22cb12727f /cpp | |
parent | http://bugzilla.zeroc.com/bugzilla/show_bug.cgi?id=2478 (diff) | |
download | ice-1122cb76c9d14c00e892d76ba088e33da3b81d11.tar.bz2 ice-1122cb76c9d14c00e892d76ba088e33da3b81d11.tar.xz ice-1122cb76c9d14c00e892d76ba088e33da3b81d11.zip |
added blobject support to python.
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/CHANGES | 2 | ||||
-rw-r--r-- | cpp/include/Ice/Initialize.h | 2 | ||||
-rw-r--r-- | cpp/src/Ice/Initialize.cpp | 6 | ||||
-rw-r--r-- | cpp/src/Ice/StreamI.cpp | 7 | ||||
-rw-r--r-- | cpp/src/Ice/StreamI.h | 1 |
5 files changed, 18 insertions, 0 deletions
diff --git a/cpp/CHANGES b/cpp/CHANGES index fb8e7668848..8714aa82e3a 100644 --- a/cpp/CHANGES +++ b/cpp/CHANGES @@ -4,6 +4,8 @@ Changes since version 3.2.X (binary incompatible) - Fixed IceGrid bug where updates to IceBox services were not correctly sent to the IceGrid GUI or IceGrid registry slaves. +- Added Ice::createInput(const CommunicatorPtr&, const pair< const Byte*, const Byte*>&); + - Setting IceBox.ServiceManager.Endpoints is no longer necessary in order to run the IceBox service. If no endpoints are specified the the ServiceManager interface is not created. diff --git a/cpp/include/Ice/Initialize.h b/cpp/include/Ice/Initialize.h index 77c8df84026..045b389db37 100644 --- a/cpp/include/Ice/Initialize.h +++ b/cpp/include/Ice/Initialize.h @@ -83,6 +83,8 @@ ICE_API ICE_DEPRECATED_API CommunicatorPtr initializeWithPropertiesAndLogger(int Int = ICE_INT_VERSION); ICE_API InputStreamPtr createInputStream(const CommunicatorPtr&, const ::std::vector< Byte >&); +ICE_API InputStreamPtr createInputStream(const CommunicatorPtr&, + const ::std::pair< const Ice::Byte*, const Ice::Byte*>&); ICE_API OutputStreamPtr createOutputStream(const CommunicatorPtr&); ICE_API LoggerPtr getProcessLogger(); diff --git a/cpp/src/Ice/Initialize.cpp b/cpp/src/Ice/Initialize.cpp index c6e873697a8..eb635bd8d76 100644 --- a/cpp/src/Ice/Initialize.cpp +++ b/cpp/src/Ice/Initialize.cpp @@ -224,6 +224,12 @@ Ice::createInputStream(const CommunicatorPtr& communicator, const vector<Byte>& return new InputStreamI(communicator, bytes); } +InputStreamPtr +Ice::createInputStream(const CommunicatorPtr& communicator, const pair<const Ice::Byte*, const Ice::Byte*>& bytes) +{ + return new InputStreamI(communicator, bytes); +} + OutputStreamPtr Ice::createOutputStream(const CommunicatorPtr& communicator) { diff --git a/cpp/src/Ice/StreamI.cpp b/cpp/src/Ice/StreamI.cpp index 4eb5a00e3c0..989e98a9313 100644 --- a/cpp/src/Ice/StreamI.cpp +++ b/cpp/src/Ice/StreamI.cpp @@ -39,6 +39,13 @@ Ice::InputStreamI::InputStreamI(const Ice::CommunicatorPtr& communicator, const _is.i = _is.b.begin(); } +Ice::InputStreamI::InputStreamI(const Ice::CommunicatorPtr& communicator, const pair<const Byte*, const Byte*>& data) : + _communicator(communicator), _is(IceInternal::getInstance(communicator).get(), this) +{ + _is.writeBlob(data.first, data.second - data.first); + _is.i = _is.b.begin(); +} + Ice::InputStreamI::~InputStreamI() { } diff --git a/cpp/src/Ice/StreamI.h b/cpp/src/Ice/StreamI.h index 82c0c06147d..70f5e8dd1c3 100644 --- a/cpp/src/Ice/StreamI.h +++ b/cpp/src/Ice/StreamI.h @@ -54,6 +54,7 @@ public: //InputStreamI(const IceInternal::InstancePtr&, const ::std::vector< ::Ice::Byte >&); InputStreamI(const Ice::CommunicatorPtr&, const ::std::vector< ::Ice::Byte >&); + InputStreamI(const Ice::CommunicatorPtr&, const ::std::pair< const ::Ice::Byte*, const ::Ice::Byte* >&); virtual ~InputStreamI(); virtual Ice::CommunicatorPtr communicator() const; |