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

Unified Diff: chrome/installer/gcapi/gcapi.h

Issue 9288056: Implementation of GCAPI reactivation. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Code review feedback. Created 8 years, 11 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
« no previous file with comments | « chrome/chrome_installer.gypi ('k') | chrome/installer/gcapi/gcapi.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/installer/gcapi/gcapi.h
diff --git a/chrome/installer/gcapi/gcapi.h b/chrome/installer/gcapi/gcapi.h
index a9fd040535b23dda414f87c639f4b66f3c3fffe0..30a5226b8c4696ef5ce5165354a9bd57c24042e3 100644
--- a/chrome/installer/gcapi/gcapi.h
+++ b/chrome/installer/gcapi/gcapi.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 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.
@@ -17,6 +17,17 @@ extern "C" {
#define GCCC_ERROR_ALREADYOFFERED 0x10
#define GCCC_ERROR_INTEGRITYLEVEL 0x20
+// Error conditions for CanReactivateChrome().
+#define REACTIVATE_ERROR_NOTINSTALLED 0x01
+#define REACTIVATE_ERROR_NOTDORMANT 0x02
+#define REACTIVATE_ERROR_ALREADY_REACTIVATED 0x04
+#define REACTIVATE_ERROR_INVALID_INPUT 0x08
+#define REACTIVATE_ERROR_REACTIVATION_FAILED 0x10
+
+// The minimum number of days an installation can be dormant before reactivation
+// may be offered.
+const int kReactivationMinDaysDormant = 50;
+
// This function returns TRUE if Google Chrome should be offered.
// If the return is FALSE, the reasons DWORD explains why. If you don't care
// for the reason, you can pass NULL for reasons.
@@ -54,11 +65,41 @@ BOOL __stdcall LaunchGoogleChromeWithDimensions(int x,
// launched.
int __stdcall GoogleChromeDaysSinceLastRun();
-// Funtion pointer type declarations to use with GetProcAddress.
+// Returns true if a vendor with the specified |brand_code| may offer
+// reactivation at this time. If the vendor has previously used other brand
+// codes, they must pass them in an array of size |previous_brand_codes_length|
+// as |previous_brand_codes|. Returns false if the vendor may not offer
+// reactivation at this time, and places one of the REACTIVATE_ERROR_XXX values
+// in |error_code| if |error_code| is non-null.
+BOOL __stdcall CanOfferReactivation(const wchar_t* brand_code,
+ int previous_brand_codes_length,
+ const wchar_t** previous_brand_codes,
+ DWORD* error_code);
+
+// Attempts to reactivate Chrome for the specified |brand_code|. If the vendor
+// has previously used other brand codes, they must pass them in an array of
+// size |previous_brand_codes_length| as |previous_brand_codes|. Returns false
+// if reactivation fails, and places one of the REACTIVATE_ERROR_XXX values
+// in |error_code| if |error_code| is non-null.
+BOOL __stdcall ReactivateChrome(wchar_t* brand_code,
+ int previous_brand_codes_length,
+ const wchar_t** previous_brand_codes,
+ DWORD* error_code);
+
+// Function pointer type declarations to use with GetProcAddress.
typedef BOOL (__stdcall *GCCC_CompatibilityCheck)(BOOL, DWORD *);
typedef BOOL (__stdcall *GCCC_LaunchGC)(HANDLE *);
typedef BOOL (__stdcall *GCCC_LaunchGCWithDimensions)(int, int, int, int);
typedef int (__stdcall *GCCC_GoogleChromeDaysSinceLastRun)();
+typedef BOOL (__stdcall *GCCC_CanOfferReactivation)(const wchar_t*,
+ int,
+ const wchar_t**,
+ DWORD*);
+typedef BOOL (__stdcall *GCCC_ReactivateChrome)(const wchar_t*,
+ int,
+ const wchar_t**,
+ DWORD*);
+
} // extern "C"
#endif // CHROME_INSTALLER_GCAPI_GCAPI_H_
« no previous file with comments | « chrome/chrome_installer.gypi ('k') | chrome/installer/gcapi/gcapi.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698