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