1 // Copyright 2019 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_UPDATER_WIN_CONSTANTS_H_ 6 #define CHROME_UPDATER_WIN_CONSTANTS_H_ 7 8 #include <windows.h> 9 10 #include "base/strings/string16.h" 11 #include "chrome/updater/updater_version.h" 12 13 namespace updater { 14 15 // The prefix to use for global names in WIN32 API's. The prefix is necessary 16 // to avoid collision on kernel object names. 17 extern const base::char16 kGlobalPrefix[]; 18 19 // Serializes access to prefs. 20 extern const base::char16 kPrefsAccessMutex[]; 21 22 // Registry keys and value names. 23 #define COMPANY_KEY "Software\\" COMPANY_SHORTNAME_STRING "\\" 24 // Use |Update| instead of PRODUCT_FULLNAME_STRING for the registry key name 25 // to be backward compatible with Google Update / Omaha. 26 #define UPDATER_KEY COMPANY_KEY "Update\\" 27 #define CLIENTS_KEY UPDATER_KEY "Clients\\" 28 #define CLIENT_STATE_KEY UPDATER_KEY "ClientState\\" 29 #define UPDATE_DEV_KEY COMPANY_KEY L"UpdateDev\\" 30 31 #define COMPANY_POLICIES_KEY \ 32 L"Software\\Policies\\" COMPANY_SHORTNAME_STRING L"\\" 33 #define UPDATER_POLICIES_KEY COMPANY_POLICIES_KEY UPDATER_KEY L"\\" 34 35 extern const base::char16 kRegistryValuePV[]; 36 extern const base::char16 kRegistryValueName[]; 37 extern const base::char16 kRegistryValueInstallerProgress[]; 38 39 extern const base::char16 kWindowsServiceName[]; 40 41 // The 'dynamic_guid' feature of midl.gni only allows for a single 'coclass' 42 // definition in the IDL file. Any other coclasses need to be defined here. 43 extern const CLSID CLSID_UpdaterServiceClass; 44 extern const CLSID CLSID_UpdaterControlClass; 45 extern const CLSID CLSID_GoogleUpdate3WebUserClass; 46 47 } // namespace updater 48 49 #endif // CHROME_UPDATER_WIN_CONSTANTS_H_ 50