You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
724 B
40 lines
724 B
10 years ago
|
#import <Foundation/NSObject.h>
|
||
|
#include <unistd.h>
|
||
|
|
||
|
@class NSString, NSData, NSError;
|
||
|
|
||
|
@interface NSFileHandle : NSObject
|
||
|
|
||
|
- (void)closeFile;
|
||
|
|
||
|
- (instancetype)initWithFileDescriptor:(int)fd closeOnDealloc:(BOOL)closeopt;
|
||
|
|
||
|
- (instancetype)initWithFileDescriptor:(int)fd;
|
||
|
|
||
|
@property (readonly) int fileDescriptor;
|
||
|
|
||
|
@end
|
||
|
|
||
|
@implementation NSFileHandle
|
||
|
|
||
|
- (instancetype)initWithFileDescriptor:(int)fd closeOnDealloc:(BOOL)closeopt {
|
||
|
if (self) {
|
||
|
self->_fileDescriptor = fd;
|
||
|
return self;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
- (instancetype)initWithFileDescriptor:(int)fd {
|
||
|
[self initWithFileDescriptor:fd closeOnDealloc:NO];
|
||
|
}
|
||
|
|
||
|
- (void)closeFile {
|
||
|
close(self->_fileDescriptor);
|
||
|
}
|
||
|
|
||
|
- (void)dealloc {
|
||
|
[self closeFile];
|
||
|
}
|
||
|
|
||
|
@end
|