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

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

Issue 2094583004: Initial commit for Chrome metainstaller on Mac. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Additional progress addressing downloader and parser, moved BUILD dependencies away from root. 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/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_

Powered by Google App Engine
This is Rietveld 408576698