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
|
#ifndef INCLUDED_GSURLSESSIONTASKBODY_H
#define INCLUDED_GSURLSESSIONTASKBODY_H
#import "common.h"
@class NSData;
@class NSError;
@class NSInputStream;
@class NSNumber;
@class NSURL;
typedef NS_ENUM(NSUInteger, GSURLSessionTaskBodyType) {
GSURLSessionTaskBodyTypeNone,
GSURLSessionTaskBodyTypeData,
// Body data is read from the given file URL
GSURLSessionTaskBodyTypeFile,
// Body data is read from the given input stream
GSURLSessionTaskBodyTypeStream,
};
@interface GSURLSessionTaskBody : NSObject
{
GSURLSessionTaskBodyType _type;
NSData *_data;
NSURL *_fileURL;
NSInputStream *_inputStream;
}
- (instancetype) init;
- (instancetype) initWithData: (NSData*)data;
- (instancetype) initWithFileURL: (NSURL*)fileURL;
- (instancetype) initWithInputStream: (NSInputStream*)inputStream;
- (GSURLSessionTaskBodyType) type;
- (NSData*) data;
- (NSURL*) fileURL;
- (NSInputStream*) inputStream;
- (NSNumber*) getBodyLengthWithError: (NSError**)error;
@end
#endif
|