Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6121)

Unified Diff: chrome/installer/mac/app/NetworkCommunication.h

Issue 2094583004: Initial commit for Chrome metainstaller on Mac. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fully addressed making the .dmg download asynchronously Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/installer/mac/app/NetworkCommunication.h
diff --git a/chrome/installer/mac/app/NetworkCommunication.h b/chrome/installer/mac/app/NetworkCommunication.h
new file mode 100644
index 0000000000000000000000000000000000000000..5c96114742eb879eb3e1f4b3d5abb1de2ee43b94
--- /dev/null
+++ b/chrome/installer/mac/app/NetworkCommunication.h
@@ -0,0 +1,43 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_INSTALLER_MAC_APP_NETWORKCOMMUNICATION_H_
+#define CHROME_INSTALLER_MAC_APP_NETWORKCOMMUNICATION_H_
+
+#import <Foundation/Foundation.h>
+
+typedef void (^DataTaskCompletionHandler)(NSData*, NSURLResponse*, NSError*);
+typedef void (^DownloadTaskCompletionHandler)(NSURL*, NSURLResponse*, NSError*);
+
+@interface NetworkCommunication : NSObject
+
+@property(nonatomic, copy) NSMutableURLRequest* request;
+// Question: Our current design of the project thus far involves having one
+// NSURLSession run the whole show. Thoughts? Is this one of those
+// things that don't really matter, or does it have a positive /
Elly Fong-Jones 2016/07/06 15:22:01 I think it's fine to just have one NSURLSession, b
+// negative impact on our project?
+@property(nonatomic, copy) NSURLSession* session;
+// The user of this class must set these handlers if functionality is needed at
+// the completion of a URLSession task.
+@property(nonatomic, copy) DataTaskCompletionHandler dataResponseHandler;
+@property(nonatomic, copy) DownloadTaskCompletionHandler downloadResponseHandler;
+
+- (id)init;
+- (id)initWithDelegate:(id) delegate;
+
+// Creates a mutable URLRequest object as an instance variable, then returns it
+// so the caller has a chance to edit it before sending the request out.
+// Contrary to the assumption in Objective-C that all return values are returned
+// by VALUE, it seems that changes made to the returned object outside of this
+// class are retained.
+- (NSMutableURLRequest*)createRequestWithURLasString:(NSString*) urlString
+ andXMLBody:(NSXMLDocument*) body;
+// Adds a data task to the run loop using the request instance variable.
+- (NSURLSessionDataTask*)sendDataRequest;
Elly Fong-Jones 2016/07/06 15:22:01 Hm... sendDataRequestWithCompletionHandler:? Will
Anna Zeng 2016/07/07 15:24:53 including the completion handler means that delega
+// Adds a download task to the run loop using the request instance variable.
+- (NSURLSessionDownloadTask*)sendDownloadRequest;
+
+@end
+
+#endif // CHROME_INSTALLER_MAC_APP_NETWORKCOMMUNICATION_H_

Powered by Google App Engine
This is Rietveld 408576698