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