blob: 39eecddba17e6977879d0c9f3b50381eba920557 [file] [log] [blame]
// Copyright (c) 2006-2009 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.
//
// This file declares a class that contains various method related to branding.
#ifndef CHROME_INSTALLER_UTIL_BROWSER_DISTRIBUTION_H_
#define CHROME_INSTALLER_UTIL_BROWSER_DISTRIBUTION_H_
#pragma once
#include "base/basictypes.h"
#include "chrome/installer/util/util_constants.h"
#include "chrome/installer/util/version.h"
namespace base {
namespace win {
class RegKey;
} // namespace win
} // namespace base
class BrowserDistribution {
public:
virtual ~BrowserDistribution() {}
static BrowserDistribution* GetDistribution();
virtual void DoPostUninstallOperations(const installer::Version& version,
const std::wstring& local_data_path,
const std::wstring& distribution_data);
virtual std::wstring GetAppGuid();
virtual std::wstring GetApplicationName();
virtual std::wstring GetAppShortCutName();
virtual std::wstring GetAlternateApplicationName();
virtual std::wstring GetBrowserAppId();
virtual std::wstring GetInstallSubDir();
virtual std::wstring GetPublisherName();
virtual std::wstring GetAppDescription();
virtual std::wstring GetLongAppDescription();
virtual int GetInstallReturnCode(
installer_util::InstallStatus install_status);
virtual std::string GetSafeBrowsingName();
virtual std::wstring GetStateKey();
virtual std::wstring GetStateMediumKey();
virtual std::wstring GetStatsServerURL();
virtual std::wstring GetDistributionData(base::win::RegKey* key);
virtual std::wstring GetUninstallLinkName();
virtual std::wstring GetUninstallRegPath();
virtual std::wstring GetVersionKey();
virtual std::wstring GetEnvVersionKey();
virtual bool CanSetAsDefault();
virtual int GetIconIndex();
virtual bool GetChromeChannel(std::wstring* channel);
virtual void UpdateDiffInstallStatus(bool system_install,
bool incremental_install, installer_util::InstallStatus install_status);
// After an install or upgrade the user might qualify to participate in an
// experiment. This function determines if the user qualifies and if so it
// sets the wheels in motion or in simple cases does the experiment itself.
virtual void LaunchUserExperiment(installer_util::InstallStatus status,
const installer::Version& version,
bool system_install);
// The user has qualified for the inactive user toast experiment and this
// function just performs it.
virtual void InactiveUserToastExperiment(int flavor, bool system_install);
protected:
BrowserDistribution() {}
static BrowserDistribution* GetDistribution(bool chrome_frame);
private:
DISALLOW_COPY_AND_ASSIGN(BrowserDistribution);
};
#endif // CHROME_INSTALLER_UTIL_BROWSER_DISTRIBUTION_H_