summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/StreamI.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/StreamI.h')
-rw-r--r--cpp/src/Ice/StreamI.h235
1 files changed, 138 insertions, 97 deletions
diff --git a/cpp/src/Ice/StreamI.h b/cpp/src/Ice/StreamI.h
index 4017c85d7d1..a39214885fc 100644
--- a/cpp/src/Ice/StreamI.h
+++ b/cpp/src/Ice/StreamI.h
@@ -11,7 +11,14 @@
#define ICE_STREAM_I_H
#include <Ice/Stream.h>
-#include <Ice/BasicStream.h>
+
+namespace IceInternal
+{
+
+// Forward declaration.
+class BasicStream;
+
+};
namespace Ice
{
@@ -23,19 +30,56 @@ class InputStreamI : public InputStream
{
public:
- InputStreamI(const Ice::CommunicatorPtr&, const std::vector< Ice::Byte >&);
- InputStreamI(const Ice::CommunicatorPtr&, const std::pair< const Ice::Byte*, const Ice::Byte* >&);
+ InputStreamI(const CommunicatorPtr&, const std::vector< Byte >&);
+ InputStreamI(const CommunicatorPtr&, const std::pair< const Byte*, const Byte* >&);
virtual ~InputStreamI();
- virtual Ice::CommunicatorPtr communicator() const;
+ virtual CommunicatorPtr communicator() const;
virtual void sliceObjects(bool);
- virtual Ice::Int readSize();
- virtual Ice::Int readAndCheckSeqSize(int);
-
- virtual void readObject(const Ice::ReadObjectCallbackPtr&);
-
+ //
+ // These methods should be removed when the old stream API is removed.
+ //
+ virtual bool readBool();
+ virtual Byte readByte();
+ virtual Short readShort();
+ virtual Int readInt();
+ virtual Long readLong();
+ virtual Float readFloat();
+ virtual Double readDouble();
+ virtual ::std::string readString(bool = true);
+ virtual ::std::wstring readWstring();
+
+ //
+ // These methods should be removed when the old stream API is removed.
+ //
+ virtual std::vector< bool > readBoolSeq();
+ virtual std::vector< Byte > readByteSeq();
+ virtual std::vector< Short > readShortSeq();
+ virtual std::vector< Int > readIntSeq();
+ virtual std::vector< Long > readLongSeq();
+ virtual std::vector< Float > readFloatSeq();
+ virtual std::vector< Double > readDoubleSeq();
+ virtual std::vector< std::string > readStringSeq(bool = true);
+ virtual std::vector< std::wstring > readWstringSeq();
+
+ //
+ // These methods should be removed when the old stream API is removed.
+ //
+ virtual bool* readBoolSeq(std::pair<const bool*, const bool*>&);
+ virtual void readByteSeq(std::pair<const Byte*, const Byte*>&);
+ virtual Short* readShortSeq(std::pair<const Short*, const Short*>&);
+ virtual Int* readIntSeq(std::pair<const Int*, const Int*>&);
+ virtual Long* readLongSeq(std::pair<const Long*, const Long*>&);
+ virtual Float* readFloatSeq(std::pair<const Float*, const Float*>&);
+ virtual Double* readDoubleSeq(std::pair<const Double*, const Double*>&);
+
+ virtual Int readSize();
+ virtual Int readAndCheckSeqSize(int);
+
+ virtual ObjectPrx readProxy();
+ virtual void readObject(const ReadObjectCallbackPtr&);
virtual std::string readTypeId();
virtual void throwException();
@@ -51,49 +95,28 @@ public:
virtual void readPendingObjects();
virtual void rewind();
-
-private:
-
- virtual bool internalReadBool();
- virtual ::Ice::Byte internalReadByte();
- virtual ::Ice::Short internalReadShort();
- virtual ::Ice::Int internalReadInt();
- virtual ::Ice::Long internalReadLong();
- virtual ::Ice::Float internalReadFloat();
- virtual ::Ice::Double internalReadDouble();
- virtual ::std::string internalReadString(bool = true);
- virtual ::std::wstring internalReadWstring();
- virtual ::Ice::ObjectPrx internalReadProxy();
- //
- // Remove these methods when the old Stream api, is removed.
- //
- virtual std::vector< bool > internalReadBoolSeq();
- virtual bool* internalReadBoolSeq(std::pair<const bool*, const bool*>&);
-
- virtual std::vector< Ice::Byte > internalReadByteSeq();
- virtual void internalReadByteSeq(std::pair<const Ice::Byte*, const Ice::Byte*>&);
-
- virtual std::vector< Ice::Short > internalReadShortSeq();
- virtual Ice::Short* internalReadShortSeq(std::pair<const Ice::Short*, const Ice::Short*>&);
-
- virtual std::vector< Ice::Int > internalReadIntSeq();
- virtual Ice::Int* internalReadIntSeq(std::pair<const Ice::Int*, const Ice::Int*>&);
-
- virtual std::vector< Ice::Long > internalReadLongSeq();
- virtual Ice::Long* internalReadLongSeq(std::pair<const Ice::Long*, const Ice::Long*>&);
-
- virtual std::vector< Ice::Float > internalReadFloatSeq();
- virtual Ice::Float* internalReadFloatSeq(std::pair<const Ice::Float*, const Ice::Float*>&);
+ virtual void read(bool& v);
+ virtual void read(Byte& v);
+ virtual void read(Short& v);
+ virtual void read(Int& v);
+ virtual void read(Long& v);
+ virtual void read(Float& v);
+ virtual void read(Double& v);
+ virtual void read(std::string& v, bool convert = true);
+ virtual void read(std::vector<std::string>&, bool);
+ virtual void read(std::wstring& v);
+ virtual void read(std::pair<const bool*, const bool*>&, ::IceUtil::ScopedArray<bool>&);
+ virtual void read(std::pair<const Byte*, const Byte*>&);
+ virtual void read(std::pair<const Short*, const Short*>&, ::IceUtil::ScopedArray<Short>&);
+ virtual void read(std::pair<const Int*, const Int*>&, ::IceUtil::ScopedArray<Int>&);
+ virtual void read(std::pair<const Long*, const Long*>&, ::IceUtil::ScopedArray<Long>&);
+ virtual void read(std::pair<const Float*, const Float*>&, ::IceUtil::ScopedArray<Float>&);
+ virtual void read(std::pair<const Double*, const Double*>&, ::IceUtil::ScopedArray<Double>&);
- virtual std::vector< Ice::Double > internalReadDoubleSeq();
- virtual Ice::Double* internalReadDoubleSeq(std::pair<const Ice::Double*, const Ice::Double*>&);
-
- virtual std::vector< std::string > internalReadStringSeq(bool = true);
-
- virtual std::vector< std::wstring > internalReadWstringSeq();
+private:
- Ice::CommunicatorPtr _communicator;
+ const CommunicatorPtr _communicator;
IceInternal::BasicStream* _is;
std::vector< ReadObjectCallbackPtr > _callbacks;
};
@@ -105,18 +128,75 @@ class OutputStreamI : public OutputStream
{
public:
- OutputStreamI(const Ice::CommunicatorPtr&, IceInternal::BasicStream* = 0);
+ OutputStreamI(const CommunicatorPtr&, IceInternal::BasicStream* = 0);
virtual ~OutputStreamI();
- virtual Ice::CommunicatorPtr communicator() const;
+ virtual CommunicatorPtr communicator() const;
- virtual void writeObject(const ::Ice::ObjectPtr&);
- virtual void writeException(const Ice::UserException&);
+ //
+ // These methods should be removed when the old stream API is removed.
+ //
+ virtual void writeBool(bool);
+ virtual void writeByte(Byte);
+ virtual void writeShort(Short);
+ virtual void writeInt(Int);
+ virtual void writeLong(Long);
+ virtual void writeFloat(Float);
+ virtual void writeDouble(Double);
+ virtual void writeString(const ::std::string&, bool = true);
+ virtual void writeWstring(const ::std::wstring&);
- virtual void writeSize(Ice::Int);
+ //
+ // These methods should be removed when the old stream API is removed.
+ //
+ virtual void writeBoolSeq(const std::vector< bool >&);
+ virtual void writeByteSeq(const std::vector< Byte >&);
+ virtual void writeShortSeq(const std::vector< Short >&);
+ virtual void writeIntSeq(const std::vector< Int >&);
+ virtual void writeLongSeq(const std::vector< Long >&);
+ virtual void writeFloatSeq(const std::vector< Float >&);
+ virtual void writeDoubleSeq(const std::vector< Double >&);
+ virtual void writeStringSeq(const std::vector< std::string >&, bool = true);
+ virtual void writeWstringSeq(const std::vector< std::wstring >&);
- virtual void writeTypeId(const std::string&);
+ //
+ // These methods should be removed when the old stream API is removed.
+ //
+ virtual void writeBoolSeq(const bool*, const bool*);
+ virtual void writeByteSeq(const Byte*, const Byte*);
+ virtual void writeShortSeq(const Short*, const Short*);
+ virtual void writeIntSeq(const Int*, const Int*);
+ virtual void writeLongSeq(const Long*, const Long*);
+ virtual void writeFloatSeq(const Float*, const Float*);
+ virtual void writeDoubleSeq(const Double*, const Double*);
+
+ virtual void writeObject(const ObjectPtr&);
+ virtual void writeException(const UserException&);
+ virtual void writeProxy(const ObjectPrx&);
+
+ virtual void writeSize(Int);
+ virtual void writeTypeId(const std::string&);
+
+ virtual void write(bool);
+ virtual void write(Byte);
+ virtual void write(Short);
+ virtual void write(Int);
+ virtual void write(Long);
+ virtual void write(Float);
+ virtual void write(Double);
+ virtual void write(const std::string&, bool = true);
+ virtual void write(const std::vector<std::string>&, bool);
+ virtual void write(const char* v, bool = true);
+ virtual void write(const std::wstring& v);
+
+ virtual void write(const bool*, const bool*);
+ virtual void write(const Byte*, const Byte*);
+ virtual void write(const Short*, const Short*);
+ virtual void write(const Int*, const Int*);
+ virtual void write(const Long*, const Long*);
+ virtual void write(const Float*, const Float*);
+ virtual void write(const Double*, const Double*);
virtual void startSlice();
virtual void endSlice();
@@ -126,54 +206,15 @@ public:
virtual void writePendingObjects();
- virtual void finished(std::vector< Ice::Byte >&);
+ virtual void finished(std::vector< Byte >&);
virtual void reset(bool);
private:
-
- virtual void internalWriteBool(bool);
- virtual void internalWriteByte(::Ice::Byte);
- virtual void internalWriteShort(::Ice::Short);
- virtual void internalWriteInt(::Ice::Int);
- virtual void internalWriteLong(::Ice::Long);
- virtual void internalWriteFloat(::Ice::Float);
- virtual void internalWriteDouble(::Ice::Double);
- virtual void internalWriteString(const ::std::string&, bool = true);
- virtual void internalWriteWstring(const ::std::wstring&);
- virtual void internalWriteProxy(const ::Ice::ObjectPrx&);
-
- //
- // Remove these methods when the old Stream api, is removed.
- //
- virtual void internalWriteBoolSeq(const std::vector< bool >&);
- virtual void internalWriteBoolSeq(const bool*, const bool*);
-
- virtual void internalWriteByteSeq(const std::vector< Ice::Byte >&);
- virtual void internalWriteByteSeq(const Ice::Byte*, const Ice::Byte*);
-
- virtual void internalWriteShortSeq(const std::vector< Ice::Short >&);
- virtual void internalWriteShortSeq(const Ice::Short*, const Ice::Short*);
-
- virtual void internalWriteIntSeq(const std::vector< Ice::Int >&);
- virtual void internalWriteIntSeq(const Ice::Int*, const Ice::Int*);
-
- virtual void internalWriteLongSeq(const std::vector< Ice::Long >&);
- virtual void internalWriteLongSeq(const Ice::Long*, const Ice::Long*);
-
- virtual void internalWriteFloatSeq(const std::vector< Ice::Float >&);
- virtual void internalWriteFloatSeq(const Ice::Float*, const Ice::Float*);
-
- virtual void internalWriteDoubleSeq(const std::vector< Ice::Double >&);
- virtual void internalWriteDoubleSeq(const Ice::Double*, const Ice::Double*);
-
- virtual void internalWriteStringSeq(const std::vector< std::string >&, bool = true);
-
- virtual void internalWriteWstringSeq(const std::vector< std::wstring >&);
- Ice::CommunicatorPtr _communicator;
+ const CommunicatorPtr _communicator;
IceInternal::BasicStream* _os;
- bool _own;
+ const bool _own;
};
}