summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2004-09-07 18:14:30 +0000
committerMark Spruiell <mes@zeroc.com>2004-09-07 18:14:30 +0000
commit405ce7e0eb1e116ca35f78cb5d938fd006bbc7d7 (patch)
tree2a1d9f1273fdb9546e389575c04672b3045c5539 /cpp/src
parentmerging Identity functions into Util (diff)
downloadice-405ce7e0eb1e116ca35f78cb5d938fd006bbc7d7.tar.bz2
ice-405ce7e0eb1e116ca35f78cb5d938fd006bbc7d7.tar.xz
ice-405ce7e0eb1e116ca35f78cb5d938fd006bbc7d7.zip
make the communicator accessible
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/Ice/.depend6
-rw-r--r--cpp/src/Ice/Initialize.cpp4
-rw-r--r--cpp/src/Ice/StreamI.cpp21
-rw-r--r--cpp/src/Ice/StreamI.h12
4 files changed, 32 insertions, 11 deletions
diff --git a/cpp/src/Ice/.depend b/cpp/src/Ice/.depend
index d896260afd6..bd714908488 100644
--- a/cpp/src/Ice/.depend
+++ b/cpp/src/Ice/.depend
@@ -1,4 +1,4 @@
-Initialize.o: Initialize.cpp ../../include/IceUtil/GC.h ../../include/Ice/Config.h ../../include/IceUtil/Config.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../Ice/CommunicatorI.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/DynamicLibraryF.h ../../include/Ice/Handle.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/TransportInfoF.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/IceUtil/GCShared.h ../../include/IceUtil/GCRecMutex.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Buffer.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/Direct.h ../../include/Ice/StreamF.h ../../include/Ice/Communicator.h ../../include/Ice/LoggerF.h ../../include/Ice/StatsF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../Ice/PropertiesI.h ../../include/Ice/Properties.h ../../include/Ice/LocalException.h ../Ice/StreamI.h ../../include/Ice/Stream.h
+Initialize.o: Initialize.cpp ../../include/IceUtil/GC.h ../../include/IceUtil/Config.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../Ice/CommunicatorI.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/DynamicLibraryF.h ../../include/Ice/Handle.h ../../include/Ice/Config.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/TransportInfoF.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/IceUtil/GCShared.h ../../include/IceUtil/GCRecMutex.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Buffer.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/Direct.h ../../include/Ice/StreamF.h ../../include/Ice/Communicator.h ../../include/Ice/LoggerF.h ../../include/Ice/StatsF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../Ice/PropertiesI.h ../../include/Ice/Properties.h ../../include/Ice/LocalException.h ../Ice/StreamI.h ../../include/Ice/Stream.h
Application.o: Application.cpp ../../include/Ice/Application.h ../../include/Ice/Ice.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/TransportInfoF.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/IceUtil/GCShared.h ../../include/IceUtil/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Buffer.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/Direct.h ../../include/Ice/StreamF.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/LoggerF.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/StatsF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/FacetMap.h ../../include/Ice/ServantLocator.h ../../include/Ice/IdentityUtil.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Process.h ../../include/Ice/TransportInfo.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/IceUtil/StaticMutex.h ../../include/IceUtil/CtrlCHandler.h ../../include/IceUtil/GC.h ../../include/IceUtil/Thread.h
Exception.o: Exception.cpp ../../include/Ice/Exception.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/Ice/LocalException.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/TransportInfoF.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/IceUtil/GCShared.h ../../include/IceUtil/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Buffer.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/Direct.h ../../include/Ice/BuiltinSequences.h ../Ice/Network.h ../../include/Ice/IdentityUtil.h ../../include/Ice/Plugin.h
LocalException.o: LocalException.cpp ../../include/Ice/LocalException.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/Proxy.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointF.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/TransportInfoF.h ../../include/Ice/Identity.h ../../include/Ice/Object.h ../../include/IceUtil/GCShared.h ../../include/IceUtil/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Buffer.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/Direct.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/ObjectFactory.h
@@ -75,8 +75,8 @@ Process.o: Process.cpp ../../include/Ice/Process.h ../../include/Ice/LocalObject
FacetMap.o: FacetMap.cpp ../../include/Ice/FacetMap.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Buffer.h ../../include/Ice/Object.h ../../include/IceUtil/GCShared.h ../../include/IceUtil/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Mutex.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/TransportInfoF.h ../../include/Ice/Identity.h
SliceChecksumDict.o: SliceChecksumDict.cpp ../../include/Ice/SliceChecksumDict.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Buffer.h ../../include/Ice/Object.h ../../include/IceUtil/GCShared.h ../../include/IceUtil/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Mutex.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/TransportInfoF.h ../../include/Ice/Identity.h
SliceChecksums.o: SliceChecksums.cpp ../../include/Ice/SliceChecksums.h ../../include/Ice/SliceChecksumDict.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/IceUtil/StaticMutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h
-Stream.o: Stream.cpp ../../include/Ice/Stream.h ../../include/Ice/StreamF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/Object.h ../../include/IceUtil/GCShared.h ../../include/IceUtil/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Mutex.h ../../include/Ice/ObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/TransportInfoF.h ../../include/Ice/Identity.h
-StreamI.o: StreamI.cpp ../Ice/StreamI.h ../../include/Ice/Stream.h ../../include/Ice/StreamF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/Object.h ../../include/IceUtil/GCShared.h ../../include/IceUtil/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Mutex.h ../../include/Ice/ObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/TransportInfoF.h ../../include/Ice/Identity.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Buffer.h
+Stream.o: Stream.cpp ../../include/Ice/Stream.h ../../include/Ice/StreamF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/Object.h ../../include/IceUtil/GCShared.h ../../include/IceUtil/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Mutex.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/TransportInfoF.h ../../include/Ice/Identity.h
+StreamI.o: StreamI.cpp ../Ice/StreamI.h ../../include/Ice/Stream.h ../../include/Ice/StreamF.h ../../include/Ice/Handle.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h ../../include/Ice/Config.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/ProxyF.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/IceUtil/Shared.h ../../include/Ice/Object.h ../../include/IceUtil/GCShared.h ../../include/IceUtil/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Mutex.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/TransportInfoF.h ../../include/Ice/Identity.h ../../include/Ice/BasicStream.h ../../include/Ice/InstanceF.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/Buffer.h ../../include/Ice/Initialize.h ../../include/Ice/PropertiesF.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Outgoing.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/Direct.h
LocalException.cpp: ../../slice/Ice/LocalException.ice ../../slice/Ice/Identity.ice ../../slice/Ice/BuiltinSequences.ice
Communicator.cpp: ../../slice/Ice/Communicator.ice ../../slice/Ice/LoggerF.ice ../../slice/Ice/StatsF.ice ../../slice/Ice/ObjectAdapterF.ice ../../slice/Ice/PropertiesF.ice ../../slice/Ice/ObjectFactoryF.ice ../../slice/Ice/RouterF.ice ../../slice/Ice/LocatorF.ice ../../slice/Ice/PluginF.ice
CommunicatorF.cpp: ../../slice/Ice/CommunicatorF.ice
diff --git a/cpp/src/Ice/Initialize.cpp b/cpp/src/Ice/Initialize.cpp
index 39b161aabd8..f5343e72f0e 100644
--- a/cpp/src/Ice/Initialize.cpp
+++ b/cpp/src/Ice/Initialize.cpp
@@ -170,13 +170,13 @@ Ice::initializeWithProperties(int& argc, char* argv[], const PropertiesPtr& prop
InputStreamPtr
Ice::createInputStream(const CommunicatorPtr& communicator, const vector<Byte>& bytes)
{
- return new InputStreamI(getInstance(communicator), bytes);
+ return new InputStreamI(communicator, bytes);
}
OutputStreamPtr
Ice::createOutputStream(const CommunicatorPtr& communicator)
{
- return new OutputStreamI(getInstance(communicator));
+ return new OutputStreamI(communicator);
}
InstancePtr
diff --git a/cpp/src/Ice/StreamI.cpp b/cpp/src/Ice/StreamI.cpp
index e6e3bf00250..5475f659f54 100644
--- a/cpp/src/Ice/StreamI.cpp
+++ b/cpp/src/Ice/StreamI.cpp
@@ -8,6 +8,7 @@
// **********************************************************************
#include <Ice/StreamI.h>
+#include <Ice/Initialize.h>
using namespace std;
using namespace Ice;
@@ -31,8 +32,8 @@ IceInternal::BasicOutputStream::BasicOutputStream(IceInternal::Instance* instanc
//
// InputStreamI
//
-Ice::InputStreamI::InputStreamI(const IceInternal::InstancePtr& instance, const vector<Byte>& data) :
- _is(instance.get(), this), _readObjects(false)
+Ice::InputStreamI::InputStreamI(const Ice::CommunicatorPtr& communicator, const vector<Byte>& data) :
+ _communicator(communicator), _is(IceInternal::getInstance(communicator).get(), this), _readObjects(false)
{
_is.b = data;
_is.i = _is.b.begin();
@@ -42,6 +43,12 @@ Ice::InputStreamI::~InputStreamI()
{
}
+CommunicatorPtr
+Ice::InputStreamI::communicator() const
+{
+ return _communicator;
+}
+
void
Ice::InputStreamI::sliceObjects(bool b)
{
@@ -252,8 +259,8 @@ Ice::InputStreamI::finished()
//
// OutputStreamI
//
-Ice::OutputStreamI::OutputStreamI(const IceInternal::InstancePtr& instance) :
- _os(instance.get(), this), _writeObjects(false)
+Ice::OutputStreamI::OutputStreamI(const Ice::CommunicatorPtr& communicator) :
+ _communicator(communicator), _os(IceInternal::getInstance(communicator).get(), this), _writeObjects(false)
{
}
@@ -261,6 +268,12 @@ Ice::OutputStreamI::~OutputStreamI()
{
}
+CommunicatorPtr
+Ice::OutputStreamI::communicator() const
+{
+ return _communicator;
+}
+
void
Ice::OutputStreamI::writeBool(bool v)
{
diff --git a/cpp/src/Ice/StreamI.h b/cpp/src/Ice/StreamI.h
index 1ecb1ce472a..7868c932435 100644
--- a/cpp/src/Ice/StreamI.h
+++ b/cpp/src/Ice/StreamI.h
@@ -52,9 +52,12 @@ class InputStreamI : public InputStream
{
public:
- InputStreamI(const IceInternal::InstancePtr&, const ::std::vector< ::Ice::Byte >&);
+ //InputStreamI(const IceInternal::InstancePtr&, const ::std::vector< ::Ice::Byte >&);
+ InputStreamI(const Ice::CommunicatorPtr&, const ::std::vector< ::Ice::Byte >&);
virtual ~InputStreamI();
+ virtual Ice::CommunicatorPtr communicator() const;
+
virtual void sliceObjects(bool);
virtual bool readBool();
@@ -99,6 +102,7 @@ public:
private:
+ Ice::CommunicatorPtr _communicator;
IceInternal::BasicInputStream _is;
bool _readObjects;
::std::vector< ReadObjectCallbackPtr > _callbacks;
@@ -111,9 +115,12 @@ class OutputStreamI : public OutputStream
{
public:
- OutputStreamI(const IceInternal::InstancePtr&);
+ //OutputStreamI(const IceInternal::InstancePtr&);
+ OutputStreamI(const Ice::CommunicatorPtr&);
virtual ~OutputStreamI();
+ virtual Ice::CommunicatorPtr communicator() const;
+
virtual void writeBool(bool);
virtual void writeBoolSeq(const ::std::vector< bool >&);
@@ -155,6 +162,7 @@ public:
private:
+ Ice::CommunicatorPtr _communicator;
IceInternal::BasicOutputStream _os;
bool _writeObjects;
};