15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// This file defines a class that contains various method related to branding.
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/installer/util/google_chrome_binaries_distribution.h"
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/installer/util/google_update_constants.h"
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/installer/util/google_update_settings.h"
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/installer/util/install_util.h"
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace {
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const wchar_t kChromeBinariesGuid[] = L"{4DC8B4CA-1BDA-483e-B5FA-D3C12E15B62D}";
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const wchar_t kChromeBinariesName[] = L"Google Chrome binaries";
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)GoogleChromeBinariesDistribution::GoogleChromeBinariesDistribution()
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    : ChromiumBinariesDistribution() {
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)string16 GoogleChromeBinariesDistribution::GetAppGuid() {
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return kChromeBinariesGuid;
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)string16 GoogleChromeBinariesDistribution::GetAppShortCutName() {
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return kChromeBinariesName;
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)string16 GoogleChromeBinariesDistribution::GetStateKey() {
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return string16(google_update::kRegPathClientState)
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      .append(1, L'\\')
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      .append(kChromeBinariesGuid);
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)string16 GoogleChromeBinariesDistribution::GetStateMediumKey() {
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return string16(google_update::kRegPathClientStateMedium)
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      .append(1, L'\\')
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      .append(kChromeBinariesGuid);
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)string16 GoogleChromeBinariesDistribution::GetVersionKey() {
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return string16(google_update::kRegPathClients)
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      .append(1, L'\\')
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      .append(kChromeBinariesGuid);
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void GoogleChromeBinariesDistribution::UpdateInstallStatus(bool system_install,
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    installer::ArchiveType archive_type,
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    installer::InstallStatus install_status) {
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  GoogleUpdateSettings::UpdateInstallStatus(system_install,
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      archive_type, InstallUtil::GetInstallReturnCode(install_status),
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      kChromeBinariesGuid);
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
57