00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include <sys/types.h>
00018
00019 #import "OFSeekableStream.h"
00020
00021 @class OFArray;
00022 @class OFDate;
00023
00024 #ifdef __cplusplus
00025 extern "C" {
00026 #endif
00027 extern void of_log(OFConstantString*, ...);
00028 #ifdef __cplusplus
00029 }
00030 #endif
00031
00035 @interface OFFile: OFSeekableStream
00036 {
00037 int fd;
00038 BOOL closable;
00039 BOOL eos;
00040 }
00041
00047 + fileWithPath: (OFString*)path
00048 mode: (OFString*)mode;
00049
00055 + fileWithFileDescriptor: (int)fd;
00056
00060 + (OFString*)currentDirectoryPath;
00061
00066 + (BOOL)fileExistsAtPath: (OFString*)path;
00067
00072 + (BOOL)directoryExistsAtPath: (OFString*)path;
00073
00079 + (void)createDirectoryAtPath: (OFString*)path;
00080
00085 + (OFArray*)filesInDirectoryAtPath: (OFString*)path;
00086
00092 + (void)changeToDirectory: (OFString*)path;
00093
00097 + (OFDate*)modificationDateOfFile: (OFString*)path;
00098
00099 #ifndef _PSP
00100
00109 + (void)changeModeOfFile: (OFString*)path
00110 toMode: (mode_t)mode;
00111 #endif
00112
00113 #if !defined(_WIN32) && !defined(_PSP)
00114
00124 + (void)changeOwnerOfFile: (OFString*)path
00125 toOwner: (OFString*)owner
00126 group: (OFString*)group;
00127 #endif
00128
00135 + (void)copyFileAtPath: (OFString*)from
00136 toPath: (OFString*)to;
00137
00144 + (void)renameFileAtPath: (OFString*)from
00145 toPath: (OFString*)to;
00146
00152 + (void)deleteFileAtPath: (OFString*)path;
00153
00159 + (void)deleteDirectoryAtPath: (OFString*)path;
00160
00161 #ifndef _WIN32
00162
00170 + (void)linkFileAtPath: (OFString*)src
00171 toPath: (OFString*)dest;
00172 #endif
00173
00174 #if !defined(_WIN32) && !defined(_PSP)
00175
00183 + (void)symlinkFileAtPath: (OFString*)src
00184 toPath: (OFString*)dest;
00185 #endif
00186
00194 - initWithPath: (OFString*)path
00195 mode: (OFString*)mode;
00196
00203 - initWithFileDescriptor: (int)fd;
00204 @end
00205
00206 #ifdef __cplusplus
00207 extern "C" {
00208 #endif
00209 extern OFFile *of_stdin;
00210 extern OFFile *of_stdout;
00211 extern OFFile *of_stderr;
00212 #ifdef __cplusplus
00213 }
00214 #endif