diff options
author | Benoit Foucher <benoit@zeroc.com> | 2012-06-11 18:53:17 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2012-06-11 18:53:17 +0200 |
commit | 27b1f7cc1b061fbf3a1582963d0af08d5839d480 (patch) | |
tree | c93c4a0c885ec941ec33116dd2f5683042d96a34 /cpp/src/Ice/StreamI.h | |
parent | Java port (diff) | |
download | ice-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.h | 88 |
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; |