31089829f638d220d45510713f887edf13979e03
[platform/framework/web/crosswalk.git] / src / chrome / installer / util / chromium_binaries_distribution.h
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
15 class 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_