summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/StreamI.h
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2012-05-08 18:14:39 -0700
committerMark Spruiell <mes@zeroc.com>2012-05-08 18:14:39 -0700
commit7774bb92669779fd165a0510a360fdaecd69f0c3 (patch)
tree8ea8bba6cac4128cd3e511ff21534db130ff8e49 /cpp/src/Ice/StreamI.h
parentFixed ICE-4709, batch requests and UnmarshalOutOfBoundsException (diff)
downloadice-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.h28
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&);