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_ 40