1// Copyright (c) 2012 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// This file declares a class that contains various method related to branding.
6
7#ifndef CHROME_INSTALLER_UTIL_CHROMIUM_BINARIES_DISTRIBUTION_H_
8#define CHROME_INSTALLER_UTIL_CHROMIUM_BINARIES_DISTRIBUTION_H_
9
10#include <string>
11
12#include "base/memory/scoped_ptr.h"
13#include "chrome/installer/util/browser_distribution.h"
14
15class ChromiumBinariesDistribution : public BrowserDistribution {
16 public:
17  virtual base::string16 GetBrowserProgIdPrefix() OVERRIDE;
18
19  virtual base::string16 GetBrowserProgIdDesc() OVERRIDE;
20
21  virtual base::string16 GetDisplayName() OVERRIDE;
22
23  virtual base::string16 GetShortcutName(ShortcutType shortcut_type) OVERRIDE;
24
25  virtual int GetIconIndex(ShortcutType shortcut_type) OVERRIDE;
26
27  virtual base::string16 GetBaseAppName() OVERRIDE;
28
29  virtual base::string16 GetBaseAppId() OVERRIDE;
30
31  virtual base::string16 GetInstallSubDir() OVERRIDE;
32
33  virtual base::string16 GetPublisherName() OVERRIDE;
34
35  virtual base::string16 GetAppDescription() OVERRIDE;
36
37  virtual base::string16 GetLongAppDescription() OVERRIDE;
38
39  virtual std::string GetSafeBrowsingName() OVERRIDE;
40
41  virtual base::string16 GetUninstallLinkName() OVERRIDE;
42
43  virtual base::string16 GetUninstallRegPath() OVERRIDE;
44
45  virtual DefaultBrowserControlPolicy GetDefaultBrowserControlPolicy() OVERRIDE;
46
47  virtual bool GetChromeChannel(base::string16* channel) OVERRIDE;
48
49  virtual bool GetCommandExecuteImplClsid(
50      base::string16* handler_class_uuid) OVERRIDE;
51
52 protected:
53  friend class BrowserDistribution;
54
55  ChromiumBinariesDistribution();
56
57  explicit ChromiumBinariesDistribution(
58      scoped_ptr<AppRegistrationData> app_reg_data);
59
60  BrowserDistribution* browser_distribution_;
61
62 private:
63  DISALLOW_COPY_AND_ASSIGN(ChromiumBinariesDistribution);
64};
65
66#endif  // CHROME_INSTALLER_UTIL_CHROMIUM_BINARIES_DISTRIBUTION_H_
67