24 #import <Foundation/Foundation.h>
29 #pragma mark Class Constants
39 #define SCStreamClass @"SCStream"
45 #define SC_STREAM_MAX_STRING_LENGTH 4096
51 #define SC_NULL_NSSTRING @"__NULL_NSSTRING__"
57 #define SC_NULL_OBJECT @"__NULL_OBJECT__"
61 #pragma mark Stream Support Types
245 id<SCStreamDelegate> fDelegate;
252 #pragma mark Свойства экземпляра класса
276 @property (nonatomic, readonly, retain) NSString *name;
282 @property (nonatomic, readonly, assign) BOOL opened;
288 @property (nonatomic, readonly, assign) BOOL readable;
294 @property (nonatomic, readonly, assign) BOOL writable;
300 @property (nonatomic, readonly, assign) BOOL readOnly;
306 @property (nonatomic, readonly, assign) BOOL writeOnly;
312 @property (nonatomic, readonly, assign) BOOL readWrite;
318 @property (nonatomic, readonly, assign)
id object;
336 @property (nonatomic, readwrite, retain) id<SCStreamDelegate> delegate;
357 @property (nonatomic, readonly, assign) BOOL eof;
370 @property (nonatomic, readonly, assign)
SCULong totalRead;
376 @property (nonatomic, readonly, assign)
SCULong totalWrite;
382 @property (nonatomic, readonly, assign)
SCULong lastRead;
388 @property (nonatomic, readonly, assign)
SCULong lastWrite;
393 #pragma mark Initializing Streams
394 - (instancetype)init;
397 #pragma mark Data Reading
398 - (
SCSize)readBytes:(
SCSize)count toBuffer:(
void *)buffer;
409 - (unichar)readUnichar;
410 - (const
char *)readCharString;
414 - (NSInteger)readNSInteger;
415 - (NSUInteger)readNSUInteger;
424 - (
SCSize)readToChar:(
char *)buffer;
425 - (
SCSize)readToUnichar:(unichar *)buffer;
426 - (
SCSize)readToCharString:(
char *)buffer max:(
SCSize)max;
427 - (
SCSize)readToBool:(BOOL *)buffer;
430 - (
SCSize)readToNSInteger:(NSInteger *)buffer;
431 - (
SCSize)readToNSUInteger:(NSUInteger *)buffer;
434 #pragma mark Data Writing
435 - (
SCSize)writeBytes:(
SCSize)count fromBuffer:(const
void *)buffer;
437 - (void)writeByte:(
SCByte)variable;
438 - (void)writeUByte:(
SCUByte)variable;
439 - (void)writeShort:(
SCShort)variable;
440 - (void)writeUShort:(
SCUShort)variable;
441 - (void)writeInteger:(
SCInteger)variable;
443 - (void)writeLong:(
SCLong)variable;
444 - (void)writeULong:(
SCULong)variable;
445 - (void)writeChar:(
char)variable;
446 - (void)writeUnichar:(unichar)variable;
447 - (void)writeCharString:(const
char *)variable;
448 - (void)writeBool:(BOOL)variable;
449 - (void)writeFloat:(
SCFloat)variable;
450 - (void)writeDouble:(
SCDouble)variable;
451 - (void)writeNSInteger:(NSInteger)variable;
452 - (void)writeNSUInteger:(NSUInteger)variable;
455 #pragma mark Text Files Support
456 - (NSString *)readStringWithEncoding:(NSStringEncoding)encoding max:(
SCInteger)max;
457 - (NSString *)readStringWithEncoding:(NSStringEncoding)encoding;
458 - (NSString *)readStringWithMax:(
SCInteger)max;
459 - (NSString *)readString;
460 - (void)writeString:(NSString *)string encoding:(NSStringEncoding)encoding;
461 - (void)writeString:(NSString *)string;
464 #pragma mark Statistic Methods
uint64_t SCULong
Definition: SCTypes.h:86
int16_t SCShort
Definition: SCTypes.h:43
Definition: SCStream.h:112
Definition: SCStream.h:130
int64_t SCLong
Definition: SCTypes.h:58
Definition: SCStream.h:100
int32_t SCInteger
Definition: SCTypes.h:49
uint32_t SCUInteger
Definition: SCTypes.h:77
SCStreamStatusCode
Definition: SCStream.h:95
Definition: SCStream.h:118
Class SCObject header file.
Definition: SCStream.h:160
Definition: SCStream.h:82
int8_t SCByte
Definition: SCTypes.h:37
Streams events handling class.
Definition: SCStreamDelegate.h:274
uint16_t SCUShort
Definition: SCTypes.h:71
SCStreamErrorHandling
Definition: SCStream.h:71
Parent class of all library classes.
Definition: SCObject.h:61
uint8_t SCUByte
Definition: SCTypes.h:65
Definition: SCStream.h:142
System error exception class.
Definition: SCSystemException.h:101
Definition: SCStream.h:148
Definition: SCStream.h:106
Exception SCSystemException header file.
Definition: SCStream.h:76
Definition: SCStream.h:166
double SCDouble
Definition: SCTypes.h:99
Streams communications protocol.
Definition: SCStreaming.h:43
Exception class SCStreamException.
Definition: SCStreamException.h:343
SCInteger SCStreamStatus
Definition: SCStream.h:173
float SCFloat
Definition: SCTypes.h:93
Definition: SCStream.h:136
Definition: SCStream.h:88
Definition: SCStream.h:124
Abstract parent class of the stream classes hierarchy.
Definition: SCStream.h:237
size_t SCSize
Definition: SCTypes.h:214
Definition: SCStream.h:154