25 #import <Foundation/Foundation.h>
26 #import <scl/SCObject.h>
27 #import <scl/SCSystemException.h>
28 #import <scl/SCStreamException.h>
31 #pragma mark Class Constants
36 #define SCStreamClass @"SCStream"
37 #define SC_STREAM_MAX_STRING_LENGTH 4096
42 #pragma mark Stream Support Types
250 id<SCStreamDelegate> fDelegate;
257 #pragma mark Свойства экземпляра класса
281 @property (nonatomic, retain, readonly, getter=
name) NSString *name;
287 @property (nonatomic, assign, readonly, getter=
opened) BOOL opened;
293 @property (nonatomic, assign, readonly, getter=
readable) BOOL readable;
299 @property (nonatomic, assign, readonly, getter=
writable) BOOL writable;
305 @property (nonatomic, assign, readonly, getter=
readOnly) BOOL readOnly;
311 @property (nonatomic, assign, readonly, getter=
writeOnly) BOOL writeOnly;
317 @property (nonatomic, assign, readonly, getter=
readWrite) BOOL readWrite;
323 @property (retain, readonly, getter=
object)
id object;
341 @property (nonatomic, retain, getter=
delegate, setter=setDelegate:) id<SCStreamDelegate> delegate;
362 @property (nonatomic, assign, readonly, getter=
eof) BOOL eof;
398 #pragma mark Instance Properties
416 #pragma mark Initializing Streams
417 - (instancetype)init;
420 #pragma mark Data Reading
421 - (
SCSize)readBytes:(
SCSize)count toBuffer:(
void *)buffer;
432 - (unichar)readUnichar;
433 - (const
char *)readCharString;
437 - (NSInteger)readNSInteger;
438 - (NSUInteger)readNSUInteger;
447 - (
SCSize)readToChar:(
char *)buffer;
448 - (
SCSize)readToUnichar:(unichar *)buffer;
449 - (
SCSize)readToCharString:(
char *)buffer max:(
SCSize)max;
450 - (
SCSize)readToBool:(BOOL *)buffer;
453 - (
SCSize)readToNSInteger:(NSInteger *)buffer;
454 - (
SCSize)readToNSUInteger:(NSUInteger *)buffer;
457 #pragma mark Data Writing
458 - (
SCSize)writeBytes:(
SCSize)count fromBuffer:(const
void *)buffer;
460 - (void)writeByte:(
SCByte)variable;
461 - (void)writeUByte:(
SCUByte)variable;
462 - (void)writeShort:(
SCShort)variable;
463 - (void)writeUShort:(
SCUShort)variable;
464 - (void)writeInteger:(
SCInteger)variable;
466 - (void)writeLong:(
SCLong)variable;
467 - (void)writeULong:(
SCULong)variable;
468 - (void)writeChar:(
char)variable;
469 - (void)writeUnichar:(unichar)variable;
470 - (void)writeCharString:(const
char *)variable;
471 - (void)writeBool:(BOOL)variable;
472 - (void)writeFloat:(
SCFloat)variable;
473 - (void)writeDouble:(
SCDouble)variable;
474 - (void)writeNSInteger:(NSInteger)variable;
475 - (void)writeNSUInteger:(NSUInteger)variable;
478 #pragma mark Text Files Support
479 - (NSString *)readStringWithEncoding:(NSStringEncoding)encoding max:(
SCInteger)max;
480 - (NSString *)readStringWithEncoding:(NSStringEncoding)encoding;
481 - (NSString *)readStringWithMax:(
SCInteger)max;
482 - (NSString *)readString;
483 - (void)writeString:(NSString *)string encoding:(NSStringEncoding)encoding;
484 - (void)writeString:(NSString *)string;
487 #pragma mark Stream Seeking
491 #pragma mark Statistic Methods
uint64_t SCULong
Definition: SCTypes.h:82
int16_t SCShort
Definition: SCTypes.h:46
SCULong lastWrite
Definition: SCStream.h:393
Definition: SCStream.h:101
int64_t SCLong
Definition: SCTypes.h:58
BOOL readable
Definition: SCStream.h:293
Definition: SCStream.h:131
_SCStreamErrorHandling
Definition: SCStream.h:56
Definition: SCStream.h:137
Definition: SCStream.h:61
NSString * name
Definition: SCStream.h:281
SCStreamErrorHandling errorHandling
Definition: SCStream.h:269
int32_t SCInteger
Definition: SCTypes.h:52
SCStreamStatus status
Definition: SCStream.h:275
Definition: SCStream.h:155
SCULong totalWrite
Definition: SCStream.h:381
id< SCStreamDelegate > delegate
Definition: SCStream.h:341
uint32_t SCUInteger
Definition: SCTypes.h:76
Definition: SCStream.h:67
BOOL writable
Definition: SCStream.h:299
Definition: SCStream.h:143
_SCStreamStatus
Definition: SCStream.h:96
Definition: SCStream.h:161
int8_t SCByte
Definition: SCTypes.h:40
SCULong totalRead
Definition: SCStream.h:375
Класс реализует методы протокола SCStreamDelegate.
Definition: SCStreamDelegate.h:267
SCSystemException * systemException
Definition: SCStream.h:335
uint16_t SCUShort
Definition: SCTypes.h:70
SCInteger SCStreamStatus
Тип состояния потока
Definition: SCStream.h:180
enum _SCStreamErrorHandling SCStreamErrorHandling
Тип видов обработки возникших в протоке ошибок.
Definition: SCStream.h:86
Общий предок всех остальных классов библиотеки
Definition: SCObject.h:53
uint8_t SCUByte
Definition: SCTypes.h:64
id object
Definition: SCStream.h:323
Definition: SCStream.h:125
Definition: SCStream.h:107
Definition: SCStream.h:113
Класс исключительной ситуации системной ошибки
Definition: SCSystemException.h:87
Definition: SCStream.h:73
double SCDouble
Definition: SCTypes.h:94
Definition: SCStream.h:119
BOOL writeOnly
Definition: SCStream.h:311
Протокол поддержки механизма потоков
Definition: SCStreaming.h:42
BOOL eof
Definition: SCStream.h:362
Класс исключительных ситуаций в потоках
Definition: SCStreamException.h:165
SCStreamException * streamException
Definition: SCStream.h:329
float SCFloat
Definition: SCTypes.h:88
Definition: SCStream.h:167
Definition: SCStream.h:149
BOOL readWrite
Definition: SCStream.h:317
BOOL readOnly
Definition: SCStream.h:305
SCULong lastRead
Definition: SCStream.h:387
Абстрактный класс потоков библиотеки
Definition: SCStream.h:242
size_t SCSize
Definition: SCTypes.h:225
BOOL opened
Definition: SCStream.h:287