diff options
author | Mark Spruiell <mes@zeroc.com> | 2012-05-08 18:14:39 -0700 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2012-05-08 18:14:39 -0700 |
commit | 7774bb92669779fd165a0510a360fdaecd69f0c3 (patch) | |
tree | 8ea8bba6cac4128cd3e511ff21534db130ff8e49 /cpp/src/Ice/StreamI.h | |
parent | Fixed ICE-4709, batch requests and UnmarshalOutOfBoundsException (diff) | |
download | ice-7774bb92669779fd165a0510a360fdaecd69f0c3.tar.bz2 ice-7774bb92669779fd165a0510a360fdaecd69f0c3.tar.xz ice-7774bb92669779fd165a0510a360fdaecd69f0c3.zip |
* C++ implementation for compact/sliced formats
* C++ implementation for "preserve-slice" metadata
* C++ tests for compact/sliced/preserved types
* Updated stream API
* Python changes for stream API
* Python tests for compact/sliced formats
* Added Ice.Default.SlicedFormat property
Diffstat (limited to 'cpp/src/Ice/StreamI.h')
-rw-r--r-- | cpp/src/Ice/StreamI.h | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/cpp/src/Ice/StreamI.h b/cpp/src/Ice/StreamI.h index 3e9b1a49282..947fb7ee681 100644 --- a/cpp/src/Ice/StreamI.h +++ b/cpp/src/Ice/StreamI.h @@ -80,17 +80,23 @@ public: virtual ObjectPrx readProxy(); virtual void readObject(const ReadObjectCallbackPtr&); - virtual std::string readTypeId(); virtual void throwException(); + virtual void throwException(const UserExceptionReaderFactoryPtr&); - virtual void startSlice(); + virtual void startObject(); + virtual SlicedDataPtr endObject(bool); + + virtual void startException(); + virtual SlicedDataPtr endException(bool); + + virtual std::string startSlice(); virtual void endSlice(); virtual void skipSlice(); virtual Ice::EncodingVersion startEncapsulation(); - virtual Ice::EncodingVersion skipEncapsulation(); virtual void endEncapsulation(); + virtual Ice::EncodingVersion skipEncapsulation(); virtual void readPendingObjects(); @@ -114,11 +120,15 @@ 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 void closure(void*); + virtual void* closure() const; + private: const CommunicatorPtr _communicator; IceInternal::BasicStream* _is; std::vector< ReadObjectCallbackPtr > _callbacks; + void* _closure; }; // @@ -176,8 +186,6 @@ public: virtual void writeSize(Int); - virtual void writeTypeId(const std::string&); - virtual void write(bool); virtual void write(Byte); virtual void write(Short); @@ -198,7 +206,15 @@ public: virtual void write(const Float*, const Float*); virtual void write(const Double*, const Double*); - virtual void startSlice(); + virtual void format(FormatType); + + virtual void startObject(const SlicedDataPtr&); + virtual void endObject(); + + virtual void startException(const SlicedDataPtr&); + virtual void endException(); + + virtual void startSlice(const std::string&, bool); virtual void endSlice(); virtual void startEncapsulation(const Ice::EncodingVersion&); |