OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_INSTALLER_MAC_APP_OMAHACOMMUNICATION_H_ | 5 #ifndef CHROME_INSTALLER_MAC_APP_OMAHACOMMUNICATION_H_ |
6 #define CHROME_INSTALLER_MAC_APP_OMAHACOMMUNICATION_H_ | 6 #define CHROME_INSTALLER_MAC_APP_OMAHACOMMUNICATION_H_ |
7 | 7 |
8 #import <Foundation/Foundation.h> | 8 #import <Foundation/Foundation.h> |
9 | 9 |
10 #include "NetworkCommunication.h" | 10 #import "NetworkCommunication.h" |
11 | 11 |
12 typedef void (^OmahaRequestCompletionHandler)(NSData*, NSError*); | 12 @protocol OmahaCommunicationDelegate |
| 13 - (void)onOmahaSuccessWithResponseBody:(NSData*)responseBody |
| 14 AndError:(NSError*)error; |
| 15 @end |
13 | 16 |
14 @interface OmahaCommunication : NSObject | 17 @interface OmahaCommunication : NSObject<NSURLSessionDataDelegate> { |
| 18 id<OmahaCommunicationDelegate> _delegate; |
| 19 } |
15 | 20 |
16 @property(nonatomic, copy) NSXMLDocument* requestXMLBody; | 21 @property(nonatomic, copy) NSXMLDocument* requestXMLBody; |
| 22 // TODO: talk to @sdy about use of NetworkCommunication |
17 @property(nonatomic, copy) NetworkCommunication* sessionHelper; | 23 @property(nonatomic, copy) NetworkCommunication* sessionHelper; |
| 24 @property(nonatomic, assign) id<OmahaCommunicationDelegate> delegate; |
18 | 25 |
19 - (id)init; | 26 - (id)init; |
20 - (id)initWithBody:(NSXMLDocument*)xmlBody; | 27 - (id)initWithBody:(NSXMLDocument*)xmlBody; |
21 | 28 |
22 // Sends the request created using the session helper. | 29 // Sends the request created using the session helper. |
23 - (void)sendRequestWithBlock:(OmahaRequestCompletionHandler)block; | 30 - (void)sendRequest; |
24 | 31 |
25 @end | 32 @end |
26 | 33 |
27 #endif // CHROME_INSTALLER_MAC_APP_OMAHACOMMUNICATION_H_ | 34 #endif // CHROME_INSTALLER_MAC_APP_OMAHACOMMUNICATION_H_ |
OLD | NEW |