blob: ffe7fc19739b51b12d352c82b8fc776ba3686dcb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
#import <Foundation/Foundation.h>
#import "PumpKIN.h"
#include <netinet/in.h>
#import "TFTPPacket.h"
enum XFerState {
xferStateNone = 0,
xferStateConnecting,
xferStateXfer,
xferStateShutdown
};
@interface XFer : NSObject {
struct sockaddr_in peer;
PumpKIN *pumpkin;
CFSocketRef sockie;
CFRunLoopSourceRef runloopSource;
NSFileHandle *theFile;
uint16_t blockSize;
uint16_t acked;
unsigned long long xferSize;
uint16_t xferBlocks;
enum XFerState state;
NSString *xferType;
NSString *xferFilename;
NSTimeInterval retryTimeout;
NSTimeInterval giveupTimeout;
TFTPPacket *lastPacket;
NSTimer *retryTimer;
NSTimer *giveupTimer;
TFTPPacket *initialPacket;
NSString *xferPrefix;
NSString *localFile;
NSMutableArray *queue;
}
@property (readonly) struct sockaddr_in *peer;
@property (readonly) TFTPPacket *initialPacket;
@property (readonly) NSString *xferFilename;
@property (readonly) NSString *localFile;
@property (readonly) NSString *xferPrefix;
- (id) init;
- (id) initWithPeer:(struct sockaddr_in *)sin andPacket:(TFTPPacket*)p;
- (BOOL) createSocket;
- (void) callbackWithType:(CFSocketCallBackType)t addr:(CFDataRef)a data:(const void *)d;
- (void) queuePacket:(TFTPPacket*)p;
- (void) eatTFTPPacket:(TFTPPacket*)p from:(struct sockaddr_in*)sin;
- (id) cellValueForColumn:(NSString*)ci;
- (void) updateView;
- (void) appear;
- (void) disappear;
- (BOOL) isPeer:(struct sockaddr_in*)sin;
- (void) abort;
- (void) goOnWithVerdict:(int)verdict;
- (BOOL) makeLocalFileName:(NSString*)xf;
@end
|