1 //
2 // Copyright (c) ZeroC, Inc. All rights reserved.
3 //
4 
5 #import <objc/Ice/Stream.h>
6 #import <objc/Ice/LocalObject.h>
7 
8 #include <Ice/InputStream.h>
9 #include <Ice/OutputStream.h>
10 
11 @protocol ICECommunicator;
12 
13 @interface ICEInputStream : NSObject<ICEInputStream>
14 {
15     Ice::InputStream* is_;
16     Ice::InputStream stream_;
17     std::vector<IceUtil::Handle<IceUtil::Shared> >* objectReaders_;
18     NSDictionary* prefixTable_;
19     NSData* data_;
20 }
21 +(Ice::Object*)createObjectReader:(ICEObject*)obj;
22 -(id)initWithCxxCommunicator:(Ice::Communicator*)com data:(const std::pair<const Byte*, const Byte*>&)data;
23 -(id)initWithCommunicator:(id<ICECommunicator>)com data:(NSData*)data encoding:(ICEEncodingVersion*)e;
24 -(Ice::InputStream*) is;
25 @end
26 
27 @interface ICEOutputStream : NSObject<ICEOutputStream>
28 {
29     Ice::OutputStream* os_;
30     Ice::OutputStream stream_;
31     std::map<ICEObject*, Ice::ObjectPtr>* objectWriters_;
32 }
33 -(id)initWithCxxCommunicator:(Ice::Communicator*)communicator;
34 -(id)initWithCxxStream:(Ice::OutputStream*)stream;
35 -(id)initWithCommunicator:(id<ICECommunicator>)com encoding:(ICEEncodingVersion*)e;
36 -(Ice::OutputStream*) os;
37 @end
38