summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/StreamI.h
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2012-06-11 18:53:17 +0200
committerBenoit Foucher <benoit@zeroc.com>2012-06-11 18:53:17 +0200
commit27b1f7cc1b061fbf3a1582963d0af08d5839d480 (patch)
treec93c4a0c885ec941ec33116dd2f5683042d96a34 /cpp/src/Ice/StreamI.h
parentJava port (diff)
downloadice-27b1f7cc1b061fbf3a1582963d0af08d5839d480.tar.bz2
ice-27b1f7cc1b061fbf3a1582963d0af08d5839d480.tar.xz
ice-27b1f7cc1b061fbf3a1582963d0af08d5839d480.zip
Support for optionals
Diffstat (limited to 'cpp/src/Ice/StreamI.h')
-rw-r--r--cpp/src/Ice/StreamI.h88
1 files changed, 14 insertions, 74 deletions
diff --git a/cpp/src/Ice/StreamI.h b/cpp/src/Ice/StreamI.h
index 947fb7ee681..4041d126efd 100644
--- a/cpp/src/Ice/StreamI.h
+++ b/cpp/src/Ice/StreamI.h
@@ -38,43 +38,6 @@ public:
virtual void sliceObjects(bool);
- //
- // 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);
@@ -98,9 +61,14 @@ public:
virtual void endEncapsulation();
virtual Ice::EncodingVersion skipEncapsulation();
+ virtual Ice::EncodingVersion getEncoding();
+
virtual void readPendingObjects();
virtual void rewind();
+
+ virtual void skip(Ice::Int);
+ virtual void skipSize();
virtual void read(bool& v);
virtual void read(Byte& v);
@@ -120,6 +88,8 @@ public:
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 bool readOptional(Int, OptionalType);
+
virtual void closure(void*);
virtual void* closure() const;
@@ -143,43 +113,6 @@ public:
virtual CommunicatorPtr communicator() const;
- //
- // 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&);
-
- //
- // 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 >&);
-
- //
- // 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&);
@@ -206,6 +139,8 @@ public:
virtual void write(const Float*, const Float*);
virtual void write(const Double*, const Double*);
+ virtual void writeOptional(Int, OptionalType);
+
virtual void format(FormatType);
virtual void startObject(const SlicedDataPtr&);
@@ -221,12 +156,17 @@ public:
virtual void startEncapsulation();
virtual void endEncapsulation();
+ virtual Ice::EncodingVersion getEncoding();
+
virtual void writePendingObjects();
virtual void finished(std::vector< Byte >&);
virtual void reset(bool);
+ virtual size_type pos();
+ virtual void rewrite(size_type, Int);
+
private:
const CommunicatorPtr _communicator;