summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/StreamI.h
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2007-11-05 12:19:49 -0800
committerMark Spruiell <mes@zeroc.com>2007-11-05 12:19:49 -0800
commit3c8924663df8629b33c2ddd38907c4bf2eeb83cd (patch)
tree83b63f2396201019163d140555e42d79f82e46d3 /cpp/src/Ice/StreamI.h
parentMerge branch 'master' of ssh://cvs.zeroc.com/home/git/ice (diff)
downloadice-3c8924663df8629b33c2ddd38907c4bf2eeb83cd.tar.bz2
ice-3c8924663df8629b33c2ddd38907c4bf2eeb83cd.tar.xz
ice-3c8924663df8629b33c2ddd38907c4bf2eeb83cd.zip
- Fixing bug 2522 for Python. This involved adding the C++ class
UserExceptionWriter so that the Python extension can wrap a native Python user exception into something that the C++ run time can marshal. Also ported the changes to the servantLocator test. - Implementing UserExceptionWriter in Java and C#. - Consolidating the source files for the C# streaming API.
Diffstat (limited to 'cpp/src/Ice/StreamI.h')
-rw-r--r--cpp/src/Ice/StreamI.h150
1 files changed, 60 insertions, 90 deletions
diff --git a/cpp/src/Ice/StreamI.h b/cpp/src/Ice/StreamI.h
index 70f5e8dd1c3..1f00533612d 100644
--- a/cpp/src/Ice/StreamI.h
+++ b/cpp/src/Ice/StreamI.h
@@ -13,48 +13,18 @@
#include <Ice/Stream.h>
#include <Ice/BasicStream.h>
-namespace IceInternal
-{
-
-//
-// Subclass BasicStream in order to associate an InputStream with it.
-//
-class BasicInputStream : public BasicStream
-{
-public:
-
- BasicInputStream(Instance*, Ice::InputStream*);
-
- Ice::InputStream* _in;
-};
-
-//
-// Subclass BasicStream in order to associate an OutputStream with it.
-//
-class BasicOutputStream : public BasicStream
-{
-public:
-
- BasicOutputStream(Instance*, Ice::OutputStream*);
-
- Ice::OutputStream* _out;
-};
-
-}
-
namespace Ice
{
//
-// Implement InputStream as a wrapper around BasicInputStream.
+// Implement InputStream as a wrapper around BasicStream.
//
class InputStreamI : public InputStream
{
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* >&);
+ 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;
@@ -62,46 +32,46 @@ public:
virtual void sliceObjects(bool);
virtual bool readBool();
- virtual ::std::vector< bool > readBoolSeq();
- virtual bool* readBoolSeq(::std::pair<const bool*, const bool*>&);
+ virtual std::vector< bool > readBoolSeq();
+ virtual bool* readBoolSeq(std::pair<const bool*, const bool*>&);
- virtual ::Ice::Byte readByte();
- virtual ::std::vector< ::Ice::Byte > readByteSeq();
- virtual void readByteSeq(::std::pair<const ::Ice::Byte*, const ::Ice::Byte*>&);
+ virtual Ice::Byte readByte();
+ virtual std::vector< Ice::Byte > readByteSeq();
+ virtual void readByteSeq(std::pair<const Ice::Byte*, const Ice::Byte*>&);
- virtual ::Ice::Short readShort();
- virtual ::std::vector< ::Ice::Short > readShortSeq();
- virtual ::Ice::Short* readShortSeq(::std::pair<const ::Ice::Short*, const ::Ice::Short*>&);
+ virtual Ice::Short readShort();
+ virtual std::vector< Ice::Short > readShortSeq();
+ virtual Ice::Short* readShortSeq(std::pair<const Ice::Short*, const Ice::Short*>&);
- virtual ::Ice::Int readInt();
- virtual ::std::vector< ::Ice::Int > readIntSeq();
- virtual ::Ice::Int* readIntSeq(::std::pair<const ::Ice::Int*, const ::Ice::Int*>&);
+ virtual Ice::Int readInt();
+ virtual std::vector< Ice::Int > readIntSeq();
+ virtual Ice::Int* readIntSeq(std::pair<const Ice::Int*, const Ice::Int*>&);
- virtual ::Ice::Long readLong();
- virtual ::std::vector< ::Ice::Long > readLongSeq();
- virtual ::Ice::Long* readLongSeq(::std::pair<const ::Ice::Long*, const ::Ice::Long*>&);
+ virtual Ice::Long readLong();
+ virtual std::vector< Ice::Long > readLongSeq();
+ virtual Ice::Long* readLongSeq(std::pair<const Ice::Long*, const Ice::Long*>&);
- virtual ::Ice::Float readFloat();
- virtual ::std::vector< ::Ice::Float > readFloatSeq();
- virtual ::Ice::Float* readFloatSeq(::std::pair<const ::Ice::Float*, const ::Ice::Float*>&);
+ virtual Ice::Float readFloat();
+ virtual std::vector< Ice::Float > readFloatSeq();
+ virtual Ice::Float* readFloatSeq(std::pair<const Ice::Float*, const Ice::Float*>&);
- virtual ::Ice::Double readDouble();
- virtual ::std::vector< ::Ice::Double > readDoubleSeq();
- virtual ::Ice::Double* readDoubleSeq(::std::pair<const ::Ice::Double*, const ::Ice::Double*>&);
+ virtual Ice::Double readDouble();
+ virtual std::vector< Ice::Double > readDoubleSeq();
+ virtual Ice::Double* readDoubleSeq(std::pair<const Ice::Double*, const Ice::Double*>&);
- virtual ::std::string readString();
- virtual ::std::vector< ::std::string > readStringSeq();
+ virtual std::string readString();
+ virtual std::vector< std::string > readStringSeq();
- virtual ::std::wstring readWstring();
- virtual ::std::vector< ::std::wstring > readWstringSeq();
+ virtual std::wstring readWstring();
+ virtual std::vector< std::wstring > readWstringSeq();
- virtual ::Ice::Int readSize();
+ virtual Ice::Int readSize();
- virtual ::Ice::ObjectPrx readProxy();
+ virtual Ice::ObjectPrx readProxy();
- virtual void readObject(const ::Ice::ReadObjectCallbackPtr&);
+ virtual void readObject(const Ice::ReadObjectCallbackPtr&);
- virtual ::std::string readTypeId();
+ virtual std::string readTypeId();
virtual void throwException();
@@ -117,66 +87,65 @@ public:
private:
Ice::CommunicatorPtr _communicator;
- IceInternal::BasicInputStream _is;
- ::std::vector< ReadObjectCallbackPtr > _callbacks;
+ IceInternal::BasicStream* _is;
+ std::vector< ReadObjectCallbackPtr > _callbacks;
};
//
-// Implement OutputStream as a wrapper around BasicOutputStream.
+// Implement OutputStream as a wrapper around BasicStream.
//
class OutputStreamI : public OutputStream
{
public:
- //OutputStreamI(const IceInternal::InstancePtr&);
- OutputStreamI(const Ice::CommunicatorPtr&);
+ OutputStreamI(const Ice::CommunicatorPtr&, IceInternal::BasicStream* = 0);
virtual ~OutputStreamI();
virtual Ice::CommunicatorPtr communicator() const;
virtual void writeBool(bool);
- virtual void writeBoolSeq(const ::std::vector< bool >&);
+ virtual void writeBoolSeq(const std::vector< bool >&);
virtual void writeBoolSeq(const bool*, const bool*);
- virtual void writeByte(::Ice::Byte);
- virtual void writeByteSeq(const ::std::vector< ::Ice::Byte >&);
+ virtual void writeByte(Ice::Byte);
+ virtual void writeByteSeq(const std::vector< Ice::Byte >&);
virtual void writeByteSeq(const Ice::Byte*, const Ice::Byte*);
- virtual void writeShort(::Ice::Short);
- virtual void writeShortSeq(const ::std::vector< ::Ice::Short >&);
+ virtual void writeShort(Ice::Short);
+ virtual void writeShortSeq(const std::vector< Ice::Short >&);
virtual void writeShortSeq(const Ice::Short*, const Ice::Short*);
- virtual void writeInt(::Ice::Int);
- virtual void writeIntSeq(const ::std::vector< ::Ice::Int >&);
+ virtual void writeInt(Ice::Int);
+ virtual void writeIntSeq(const std::vector< Ice::Int >&);
virtual void writeIntSeq(const Ice::Int*, const Ice::Int*);
- virtual void writeLong(::Ice::Long);
- virtual void writeLongSeq(const ::std::vector< ::Ice::Long >&);
+ virtual void writeLong(Ice::Long);
+ virtual void writeLongSeq(const std::vector< Ice::Long >&);
virtual void writeLongSeq(const Ice::Long*, const Ice::Long*);
- virtual void writeFloat(::Ice::Float);
- virtual void writeFloatSeq(const ::std::vector< ::Ice::Float >&);
+ virtual void writeFloat(Ice::Float);
+ virtual void writeFloatSeq(const std::vector< Ice::Float >&);
virtual void writeFloatSeq(const Ice::Float*, const Ice::Float*);
- virtual void writeDouble(::Ice::Double);
- virtual void writeDoubleSeq(const ::std::vector< ::Ice::Double >&);
+ virtual void writeDouble(Ice::Double);
+ virtual void writeDoubleSeq(const std::vector< Ice::Double >&);
virtual void writeDoubleSeq(const Ice::Double*, const Ice::Double*);
- virtual void writeString(const ::std::string&);
- virtual void writeStringSeq(const ::std::vector< ::std::string >&);
+ virtual void writeString(const std::string&);
+ virtual void writeStringSeq(const std::vector< std::string >&);
- virtual void writeWstring(const ::std::wstring&);
- virtual void writeWstringSeq(const ::std::vector< ::std::wstring >&);
+ virtual void writeWstring(const std::wstring&);
+ virtual void writeWstringSeq(const std::vector< std::wstring >&);
- virtual void writeSize(::Ice::Int);
+ virtual void writeSize(Ice::Int);
- virtual void writeProxy(const ::Ice::ObjectPrx&);
+ virtual void writeProxy(const Ice::ObjectPrx&);
- virtual void writeObject(const ::Ice::ObjectPtr&);
+ virtual void writeObject(const Ice::ObjectPtr&);
- virtual void writeTypeId(const ::std::string&);
+ virtual void writeTypeId(const std::string&);
- virtual void writeException(const ::Ice::UserException&);
+ virtual void writeException(const Ice::UserException&);
virtual void startSlice();
virtual void endSlice();
@@ -186,12 +155,13 @@ public:
virtual void writePendingObjects();
- virtual void finished(::std::vector< ::Ice::Byte >&);
+ virtual void finished(std::vector< Ice::Byte >&);
private:
Ice::CommunicatorPtr _communicator;
- IceInternal::BasicOutputStream _os;
+ IceInternal::BasicStream* _os;
+ bool _own;
};
}