123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- /* Copyright (c) 2011 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- #include <objc/runtime.h>
- //#import <GoogleAPIClientForREST/GTLRUploadParameters.h>
- #import "GTLRUploadParameters.h"
- @implementation GTLRUploadParameters
- @synthesize MIMEType = _MIMEType,
- data = _data,
- fileHandle = _fileHandle,
- uploadLocationURL = _uploadLocationURL,
- fileURL = _fileURL,
- shouldUploadWithSingleRequest = _shouldUploadWithSingleRequest,
- shouldSendUploadOnly = _shouldSendUploadOnly,
- useBackgroundSession = _useBackgroundSession;
- + (instancetype)uploadParametersWithData:(NSData *)data
- MIMEType:(NSString *)mimeType {
- GTLRUploadParameters *params = [[self alloc] init];
- params.data = data;
- params.MIMEType = mimeType;
- return params;
- }
- + (instancetype)uploadParametersWithFileHandle:(NSFileHandle *)fileHandle
- MIMEType:(NSString *)mimeType {
- GTLRUploadParameters *params = [[self alloc] init];
- params.fileHandle = fileHandle;
- params.MIMEType = mimeType;
- return params;
- }
- + (instancetype)uploadParametersWithFileURL:(NSURL *)fileURL
- MIMEType:(NSString *)mimeType {
- GTLRUploadParameters *params = [[self alloc] init];
- params.fileURL = fileURL;
- params.MIMEType = mimeType;
- return params;
- }
- - (id)copyWithZone:(NSZone *)zone {
- GTLRUploadParameters *newParams = [[[self class] allocWithZone:zone] init];
- newParams.MIMEType = self.MIMEType;
- newParams.data = self.data;
- newParams.fileHandle = self.fileHandle;
- newParams.fileURL = self.fileURL;
- newParams.uploadLocationURL = self.uploadLocationURL;
- newParams.shouldUploadWithSingleRequest = self.shouldUploadWithSingleRequest;
- newParams.shouldSendUploadOnly = self.shouldSendUploadOnly;
- newParams.useBackgroundSession = self.useBackgroundSession;
- return newParams;
- }
- #if DEBUG
- - (NSString *)description {
- NSMutableArray *array = [NSMutableArray array];
- NSString *str = [NSString stringWithFormat:@"MIMEType:%@", _MIMEType];
- [array addObject:str];
- if (_data) {
- str = [NSString stringWithFormat:@"data:%llu bytes",
- (unsigned long long)_data.length];
- [array addObject:str];
- }
- if (_fileHandle) {
- str = [NSString stringWithFormat:@"fileHandle:%@", _fileHandle];
- [array addObject:str];
- }
- if (_fileURL) {
- str = [NSString stringWithFormat:@"file:%@", [_fileURL path]];
- [array addObject:str];
- }
- if (_uploadLocationURL) {
- str = [NSString stringWithFormat:@"uploadLocation:%@",
- [_uploadLocationURL absoluteString]];
- [array addObject:str];
- }
- if (_shouldSendUploadOnly) {
- [array addObject:@"shouldSendUploadOnly"];
- }
- if (_shouldUploadWithSingleRequest) {
- [array addObject:@"uploadWithSingleRequest"];
- }
- if (_useBackgroundSession) {
- [array addObject:@"useBackgroundSession"];
- }
- NSString *descStr = [array componentsJoinedByString:@", "];
- str = [NSString stringWithFormat:@"%@ %p: {%@}",
- [self class], self, descStr];
- return str;
- }
- #endif // DEBUG
- @end
|