- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / printing / cloud_print / cloud_print_url.h
1 // Copyright (c) 2011 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_BROWSER_PRINTING_CLOUD_PRINT_CLOUD_PRINT_URL_H_
6 #define CHROME_BROWSER_PRINTING_CLOUD_PRINT_CLOUD_PRINT_URL_H_
7
8 #include <string>
9
10 class GURL;
11 class Profile;
12
13 namespace user_prefs {
14 class PrefRegistrySyncable;
15 }
16
17 // Centralize URL management for the cloud print service.
18 class CloudPrintURL {
19  public:
20   static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry);
21
22   explicit CloudPrintURL(Profile* profile) : profile_(profile) {}
23
24   GURL GetCloudPrintServiceURL();
25   GURL GetCloudPrintServiceDialogURL();
26   GURL GetCloudPrintServiceManageURL();
27   GURL GetCloudPrintServiceEnableURL(const std::string& proxy_id);
28   GURL GetCloudPrintSigninURL();
29
30   // These aren't derived from the service, but it makes sense to keep all the
31   // URLs together, and this gives the unit tests access for testing.
32   static GURL GetCloudPrintLearnMoreURL();
33   static GURL GetCloudPrintTestPageURL();
34
35  private:
36   Profile* profile_;
37 };
38
39 #endif  // CHROME_BROWSER_PRINTING_CLOUD_PRINT_CLOUD_PRINT_URL_H_