Samond Classes Library 1.1.6-RELEASE build 132

SCFileStream.h

Go to the documentation of this file.
00001 //
00002 //  SCFileStream.h
00003 //  scl
00004 //
00005 //  Created by Viacheslav Smolensky on 02.03.12.
00006 //  Copyright (c) 2007 - 2014 by Samond Development Corporation. All rights reserved.
00007 //
00008 
00015 #import <fcntl.h>
00016 #import <dirent.h>
00017 #import <Foundation/Foundation.h>
00018 #import <scl/SCStream.h>
00019 
00020 #define SCFileStreamClass @"SCFileStream" ///< SCFileStream class name
00021 
00022 #pragma mark -
00023 #pragma mark File stream supporting types
00024 
00030 enum _SCFileStreamOpenMode {
00034     SCFileStreamOpenReadOnly        = 0,
00035     
00039     SCFileStreamOpenReadWrite       = 1,
00040     
00045     SCFileStreamOpenWriteOnly       = 2,
00046     
00052     SCFileStreamOpenWriteRead       = 3,
00053     
00060     SCFileStreamOpenAppendWriteOnly = 4,
00061     
00068     SCFileStreamOpenAppendReadWrite = 5
00069 };
00070 
00076 typedef enum _SCFileStreamOpenMode SCFileStreamOpenMode;
00077 
00083 typedef SCFileMode SCFileStreamMode;
00084 
00089 enum _SCFileStreamOffsetWhence {
00090     SCFileStreamOffsetStart         = SEEK_SET, 
00091     SCFileStreamOffsetCurrent       = SEEK_CUR, 
00092     SCFileStreamOffsetEnd           = SEEK_END 
00093 };
00094 
00100 typedef enum _SCFileStreamOffsetWhence SCFileStreamOffsetWhence;
00101 
00107 enum _SCFileStreamStatus {
00108     SCFileStreamOK                      =   0,  
00109     SCFileStreamIncorrectOpenModeError  = 100,  
00110     SCFileStreamEmptyPathError          = 101,  
00111     SCFileStreamEOFError                = 102,  
00112         SCFileStreamOffsetError                         = 103,  
00113     SCFileStreamOffsetWhenceError       = 104,  
00114 };
00115 
00116 
00122 typedef SCStreamStatus SCFileStreamStatus;
00123 
00124 #pragma mark -
00125 
00135 @interface SCFileStream : SCStream {
00136     FILE *fFile;                    // File stream pointer
00137     SCFileStreamOpenMode fOpenMode; // File stream open mode
00138 }
00139 #pragma mark -
00140 #pragma mark Class properties
00141 #if (__MAC_OS_X_VERSION_MIN_REQUIRED > 1040) || IOS_TARGET
00142 // File stream open mode property
00143 @property (nonatomic, assign, readonly, getter=openMode) SCFileStreamOpenMode openMode;
00144 // End of stream flag property
00145 @property (nonatomic, assign, readonly, getter=eof) BOOL eof;
00146 #endif
00147 
00148 #pragma mark -
00149 #pragma mark Creating Stream
00150 
00155 + (SCFileStream *)stream;
00156 
00162 + (SCFileStream *)streamWithDelegate:(id<SCStreamDelegate>)delegate;
00163 
00175 + (SCFileStream *)streamWithDelegate:(id<SCStreamDelegate>)delegate
00176                                                                 path:(NSString *)path
00177                                                                 mode:(SCFileStreamOpenMode)mode
00178                                                         handling:(SCStreamErrorHandling)handling;
00179 
00190 + (SCFileStream *)streamWithDelegate:(id<SCStreamDelegate>)delegate
00191                                                                 path:(NSString *)path
00192                                                                 mode:(SCFileStreamOpenMode)mode;
00193 
00204 + (SCFileStream *)streamWithPath:(NSString *)path
00205                             mode:(SCFileStreamOpenMode)mode
00206                         handling:(SCStreamErrorHandling)handling;
00207 
00216 + (SCFileStream *)streamWithPath:(NSString *)path mode:(SCFileStreamOpenMode)mode;
00217 
00228 + (SCFileStream *)readOnlyStreamWithDelegate:(id<SCStreamDelegate>)delegate
00229                                                                                 path:(NSString *)path
00230                                                                         handling:(SCStreamErrorHandling)handling;
00231 
00241 + (SCFileStream *)readOnlyStreamWithDelegate:(id<SCStreamDelegate>)delegate path:(NSString *)path;
00242 
00252 + (SCFileStream *)readOnlyStreamWithPath:(NSString *)path handling:(SCStreamErrorHandling)handling;
00253 
00262 + (SCFileStream *)readOnlyStreamWithPath:(NSString *)path;
00263 
00274 + (SCFileStream *)readWriteStreamWithDelegate:(id<SCStreamDelegate>)delegate
00275                                                                                  path:(NSString *)path
00276                                                                          handling:(SCStreamErrorHandling)handling;
00277 
00287 + (SCFileStream *)readWriteStreamWithDelegate:(id<SCStreamDelegate>)delegate path:(NSString *)path;
00288 
00298 + (SCFileStream *)readWriteStreamWithPath:(NSString *)path handling:(SCStreamErrorHandling)handling;
00299 
00308 + (SCFileStream *)readWriteStreamWithPath:(NSString *)path;
00309 
00321 + (SCFileStream *)writeOnlyStreamWithDelegate:(id<SCStreamDelegate>)delegate
00322                                                                                  path:(NSString *)path
00323                                                                          handling:(SCStreamErrorHandling)handling;
00324 
00334 + (SCFileStream *)writeOnlyStreamWithDelegate:(id<SCStreamDelegate>)delegate path:(NSString *)path;
00335 
00345 + (SCFileStream *)writeOnlyStreamWithPath:(NSString *)path handling:(SCStreamErrorHandling)handling;
00346 
00355 + (SCFileStream *)writeOnlyStreamWithPath:(NSString *)path;
00356 
00368 + (SCFileStream *)writeReadStreamWithDelegate:(id<SCStreamDelegate>)delegate
00369                                                                                  path:(NSString *)path
00370                                                                          handling:(SCStreamErrorHandling)handling;
00371 
00382 + (SCFileStream *)writeReadStreamWithDelegate:(id<SCStreamDelegate>)delegate path:(NSString *)path;
00383 
00394 + (SCFileStream *)writeReadStreamWithPath:(NSString *)path handling:(SCStreamErrorHandling)handling;
00395 
00405 + (SCFileStream *)writeReadStreamWithPath:(NSString *)path;
00406 
00419 + (SCFileStream *)appendWriteOnlyStreamWithDelegate:(id<SCStreamDelegate>)delegate
00420                                                                                            path:(NSString *)path
00421                                                                                    handling:(SCStreamErrorHandling)handling;
00422 
00434 + (SCFileStream *)appendWriteOnlyStreamWithDelegate:(id<SCStreamDelegate>)delegate
00435                                                                                            path:(NSString *)path;
00436 
00448 + (SCFileStream *)appendWriteOnlyStreamWithPath:(NSString *)path
00449                                        handling:(SCStreamErrorHandling)handling;
00450 
00461 + (SCFileStream *)appendWriteOnlyStreamWithPath:(NSString *)path;
00462 
00475 + (SCFileStream *)appendReadWriteStreamWithDelegate:(id<SCStreamDelegate>)delegate
00476                                                                                            path:(NSString *)path
00477                                                                                    handling:(SCStreamErrorHandling)handling;
00478 
00490 + (SCFileStream *)appendReadWriteStreamWithDelegate:(id<SCStreamDelegate>)delegate
00491                                                                                            path:(NSString *)path;
00492 
00504 + (SCFileStream *)appendReadWriteStreamWithPath:(NSString *)path
00505                                        handling:(SCStreamErrorHandling)handling;
00506 
00517 + (SCFileStream *)appendReadWriteStreamWithPath:(NSString *)path;
00518 
00519 #pragma mark -
00520 #pragma mark Initializing Stream
00521 
00526 - (id)init;
00527 
00532 - (id)initWithDelegate:(id<SCStreamDelegate>)delegate;
00533 
00545 - (id)initWithDelegate:(id<SCStreamDelegate>)delegate
00546                                   path:(NSString *)path
00547                                   mode:(SCFileStreamOpenMode)mode
00548                           handling:(SCStreamErrorHandling)handling;
00549 
00559 - (id)initWithDelegate:(id<SCStreamDelegate>)delegate
00560                                   path:(NSString *)path
00561                                   mode:(SCFileStreamOpenMode)mode;
00562 
00573 - (id)initWithPath:(NSString *)path
00574               mode:(SCFileStreamOpenMode)mode
00575           handling:(SCStreamErrorHandling)handling;
00576 
00585 - (id)initWithPath:(NSString *)path mode:(SCFileStreamOpenMode)mode;
00586 
00597 - (id)initReadOnlyWithDelegate:(id<SCStreamDelegate>)delegate
00598                                                   path:(NSString *)path
00599                                           handling:(SCStreamErrorHandling)handling;
00600 
00610 - (id)initReadOnlyWithDelegate:(id<SCStreamDelegate>)delegate path:(NSString *)path;
00611 
00621 - (id)initReadOnlyWithPath:(NSString *)path handling:(SCStreamErrorHandling)handling;
00622 
00631 - (id)initReadOnlyWithPath:(NSString *)path;
00632 
00643 - (id)initReadWriteWithDelegate:(id<SCStreamDelegate>)delegate
00644                                                    path:(NSString *)path
00645                                            handling:(SCStreamErrorHandling)handling;
00646 
00656 - (id)initReadWriteWithDelegate:(id<SCStreamDelegate>)delegate path:(NSString *)path;
00657 
00667 - (id)initReadWriteWithPath:(NSString *)path handling:(SCStreamErrorHandling)handling;
00668 
00677 - (id)initReadWriteWithPath:(NSString *)path;
00678 
00690 - (id)initWriteOnlyWithDelegate:(id<SCStreamDelegate>)delegate
00691                                                    path:(NSString *)path
00692                                            handling:(SCStreamErrorHandling)handling;
00693 
00703 - (id)initWriteOnlyWithDelegate:(id<SCStreamDelegate>)delegate path:(NSString *)path;
00704 
00714 - (id)initWriteOnlyWithPath:(NSString *)path handling:(SCStreamErrorHandling)handling;
00715 
00724 - (id)initWriteOnlyWithPath:(NSString *)path;
00725 
00737 - (id)initWriteReadWithDelegate:(id<SCStreamDelegate>)delegate
00738                                                    path:(NSString *)path
00739                                            handling:(SCStreamErrorHandling)handling;
00740 
00751 - (id)initWriteReadWithDelegate:(id<SCStreamDelegate>)delegate path:(NSString *)path;
00752 
00763 - (id)initWriteReadWithPath:(NSString *)path handling:(SCStreamErrorHandling)handling;
00764 
00774 - (id)initWriteReadWithPath:(NSString *)path;
00775 
00788 - (id)initAppendWriteOnlyWithDelegate:(id<SCStreamDelegate>)delegate
00789                                                                  path:(NSString *)path
00790                                                          handling:(SCStreamErrorHandling)handling;
00791 
00803 - (id)initAppendWriteOnlyWithDelegate:(id<SCStreamDelegate>)delegate path:(NSString *)path;
00804 
00816 - (id)initAppendWriteOnlyWithPath:(NSString *)path handling:(SCStreamErrorHandling)handling;
00817 
00828 - (id)initAppendWriteOnlyWithPath:(NSString *)path;
00829 
00842 - (id)initAppendReadWriteWithDelegate:(id<SCStreamDelegate>)delegate
00843                                                                  path:(NSString *)path
00844                                                          handling:(SCStreamErrorHandling)handling;
00845 
00857 - (id)initAppendReadWriteWithDelegate:(id<SCStreamDelegate>)delegate path:(NSString *)path;
00858 
00870 - (id)initAppendReadWriteWithPath:(NSString *)path handling:(SCStreamErrorHandling)handling;
00871 
00882 - (id)initAppendReadWriteWithPath:(NSString *)path;
00883 
00884 #pragma mark -
00885 #pragma mark Opening and Closing Stream
00886 
00895 - (void)openWithPath:(NSString *)path
00896                 mode:(SCFileStreamOpenMode)mode
00897             handling:(SCStreamErrorHandling)handling;
00898 
00906 - (void)openWithPath:(NSString *)path mode:(SCFileStreamOpenMode)mode;
00907 
00916 - (void)openReadOnlyWithPath:(NSString *)path handling:(SCStreamErrorHandling)handling;
00917 
00925 - (void)openReadOnlyWithPath:(NSString *)path;
00926 
00935 - (void)openReadWriteWithPath:(NSString *)path handling:(SCStreamErrorHandling)handling;
00936 
00944 - (void)openReadWriteWithPath:(NSString *)path;
00945 
00954 - (void)openWriteOnlyWithPath:(NSString *)path handling:(SCStreamErrorHandling)handling;
00955 
00963 - (void)openWriteOnlyWithPath:(NSString *)path;
00964 
00974 - (void)openWriteReadWithPath:(NSString *)path handling:(SCStreamErrorHandling)handling;
00975 
00984 - (void)openWriteReadWithPath:(NSString *)path;
00985 
00996 - (void)openAppendWriteOnlyWithPath:(NSString *)path handling:(SCStreamErrorHandling)handling;
00997 
01006 - (void)openAppendWriteOnlyWithPath:(NSString *)path;
01007 
01018 - (void)openAppendReadWriteWithPath:(NSString *)path handling:(SCStreamErrorHandling)handling;
01019 
01029 - (void)openAppendReadWriteWithPath:(NSString *)path;
01030 
01034 - (void)close;
01035 
01036 #pragma mark -
01037 #pragma mark Querying Stream Properties
01038 
01043 - (SCFileStreamOpenMode)openMode;
01044 
01045 #pragma mark -
01046 #pragma mark Seeking Stream
01047 
01055 - (void)setOffset:(SCLong)offset whence:(SCFileStreamOffsetWhence)whence;
01056 
01063 - (void)setOffset:(SCLong)offset;
01064 
01071 - (SCLong)offset;
01072 
01077 - (void)rewind;
01078 
01079 @end
 All Classes Files Functions Typedefs Enumerations Enumerator Defines