Index: chrome/installer/mac/app/request.h |
diff --git a/chrome/installer/mac/app/request.h b/chrome/installer/mac/app/request.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..e11cf9c6bd017ef5dc6c138a0420778d449c4362 |
--- /dev/null |
+++ b/chrome/installer/mac/app/request.h |
@@ -0,0 +1,37 @@ |
+// Copyright (c) 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_REQUEST_H_ |
+ |
+#if !defined(__x86_64__) |
+#error "Your machine's operating system architecture may not be compatible with Chrome." |
+#endif |
+ |
+#define CHROME_INSTALLER_MAC_APP_REQUEST_H_ |
+ |
+#import <Foundation/Foundation.h> |
+ |
+// #include <mach-o/arch.h> |
+ |
+// Gets the CPU architecture type of the client's system, which will be used when crafting the |
+// query to Omaha. This will return either "x84_64h" for systems running on Intel Haswell chips, |
+// "x86_64" for other Intel machines, or strings representing other CPU types ("amd", |
+// "pentium", and "i686", for example, are all valid). |
+NSString* getArchitecture(void); |
+// Gets the operating system version of the client. After querying NSProcess, this method |
+// extracts just the version number from a longer version string, then returns the number as a |
+// string. This function may return values such as "10.11" or "10.10.5". |
+NSString *getOSVersion(void); |
+// Creates the body of the request being prepared to send to Omaha. The parameters |
+// |operatingSystem| and |architecture| would be fed in using the above functions. |
+NSXMLDocument *createXMLRequestBody(NSString *operatingSystem, |
+ NSString *architecture); |
+// Creates a new HTTP URL request to Omaha using a successfully created request body, |
+// |requestXMLBody|. |
+NSURLRequest* createOmahaRequest(NSXMLDocument *requestXMLBody); |
+// Sends the request created using the above method, then receives the response and returns the |
+// response body (which is in XML) through the NSData type. |
+NSData* sendRequestAndReceiveResponse(NSURLRequest *request); |
+ |
+#endif // CHROME_INSTALLER_MAC_APP_REQUEST_H_ |