/Volumes/Plantain/MyDocuments/Projects/MacTrek/MacTrek/FrameWorks/OmniNetworking.framework/Headers/ONSocket.h

00001 // Copyright 1997-2005 Omni Development, Inc.  All rights reserved.
00002 //
00003 // This software may only be used and reproduced according to the
00004 // terms in the file OmniSourceLicense.html, which should be
00005 // distributed with this project and can also be found at
00006 // <http://www.omnigroup.com/developer/sourcecode/sourcelicense/>.
00007 //
00008 // $Header: svn+ssh://source.omnigroup.com/Source/svn/Omni/tags/SourceRelease_2005-11-18/OmniGroup/Frameworks/OmniNetworking/ONSocket.h 68913 2005-10-03 19:36:19Z kc $
00009 
00010 #import <OmniBase/OBObject.h>
00011 
00012 @class NSData;
00013 @class NSMutableData;
00014 
00015 #import <Foundation/NSString.h> // for NSStringEncoding
00016 
00017 @interface ONSocket : OBObject
00018 {
00019     NSStringEncoding stringEncoding;
00020     unsigned int readBufferSize;
00021 }
00022 
00023 // These are the primitive methods which must be implemented by subclasses
00024 - (unsigned int)readBytes:(unsigned int)byteCount intoBuffer:(void *)aBuffer;
00025 - (unsigned int)writeBytes:(unsigned int)byteCount fromBuffer:(const void *)aBuffer;
00026 - (void)abortSocket;
00027 
00028 - (BOOL)isReadable;
00029 - (BOOL)isWritable;
00030 
00031 // This is implemented in terms of -writeBytes:fromBuffer:, but overridden in subclasses which support 'gather' writing directly.
00032 - (unsigned int)writeBuffers:(const struct iovec *)buffers count:(unsigned int)num_iov;
00033 
00034 @end
00035 
00036 @interface ONSocket (General)
00037 
00038 // These methods operate in terms of the primitive methods, and therefore need not be implemented by subclasses.
00039 
00040 + (void)setDefaultStringEncoding:(NSStringEncoding)aStringEncoding;
00041 + (void)setDefaultReadBufferSize:(int)aSize;
00042 
00043 - (void)writeData:(NSData *)data;
00044 - (void)writeString:(NSString *)aString;
00045 - (void)writeFormat:(NSString *)aFormat, ...;
00046 - (void)readData:(NSMutableData *)data;
00047 - (NSData *)readData;
00048 - (NSString *)readString;
00049 
00050 - (NSStringEncoding)stringEncoding;
00051 - (void)setStringEncoding:(NSStringEncoding)aStringEncoding;
00052 - (void)setReadBufferSize:(int)aSize;
00053 
00054 @end

Generated on Fri Jul 28 19:15:20 2006 for MacTrek by  doxygen 1.4.7