| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CHROME_SERVICE_CLOUD_PRINT_CLOUD_PRINT_PROXY_H_ | 5 #ifndef CHROME_SERVICE_CLOUD_PRINT_CLOUD_PRINT_PROXY_H_ |
| 6 #define CHROME_SERVICE_CLOUD_PRINT_CLOUD_PRINT_PROXY_H_ | 6 #define CHROME_SERVICE_CLOUD_PRINT_CLOUD_PRINT_PROXY_H_ |
| 7 | 7 |
| 8 #include <list> | 8 #include <list> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 16 matching lines...) Expand all Loading... |
| 27 public CloudPrintWipeout::Client, | 27 public CloudPrintWipeout::Client, |
| 28 public base::NonThreadSafe { | 28 public base::NonThreadSafe { |
| 29 public: | 29 public: |
| 30 class Client { | 30 class Client { |
| 31 public: | 31 public: |
| 32 virtual ~Client() {} | 32 virtual ~Client() {} |
| 33 virtual void OnCloudPrintProxyEnabled(bool persist_state) {} | 33 virtual void OnCloudPrintProxyEnabled(bool persist_state) {} |
| 34 virtual void OnCloudPrintProxyDisabled(bool persist_state) {} | 34 virtual void OnCloudPrintProxyDisabled(bool persist_state) {} |
| 35 }; | 35 }; |
| 36 CloudPrintProxy(); | 36 CloudPrintProxy(); |
| 37 virtual ~CloudPrintProxy(); | 37 ~CloudPrintProxy() override; |
| 38 | 38 |
| 39 // Initializes the object. This should be called every time an object of this | 39 // Initializes the object. This should be called every time an object of this |
| 40 // class is constructed. | 40 // class is constructed. |
| 41 void Initialize(ServiceProcessPrefs* service_prefs, Client* client); | 41 void Initialize(ServiceProcessPrefs* service_prefs, Client* client); |
| 42 | 42 |
| 43 // Enables/disables cloud printing for the user | 43 // Enables/disables cloud printing for the user |
| 44 void EnableForUser(); | 44 void EnableForUser(); |
| 45 void EnableForUserWithRobot( | 45 void EnableForUserWithRobot( |
| 46 const std::string& robot_auth_code, | 46 const std::string& robot_auth_code, |
| 47 const std::string& robot_email, | 47 const std::string& robot_email, |
| 48 const std::string& user_email, | 48 const std::string& user_email, |
| 49 const base::DictionaryValue& user_settings); | 49 const base::DictionaryValue& user_settings); |
| 50 void UnregisterPrintersAndDisableForUser(); | 50 void UnregisterPrintersAndDisableForUser(); |
| 51 void DisableForUser(); | 51 void DisableForUser(); |
| 52 // Returns the proxy info. | 52 // Returns the proxy info. |
| 53 void GetProxyInfo(CloudPrintProxyInfo* info); | 53 void GetProxyInfo(CloudPrintProxyInfo* info); |
| 54 // Return accessible printers. | 54 // Return accessible printers. |
| 55 void GetPrinters(std::vector<std::string>* printers); | 55 void GetPrinters(std::vector<std::string>* printers); |
| 56 | 56 |
| 57 // Launches a browser to see if the proxy policy has been set. | 57 // Launches a browser to see if the proxy policy has been set. |
| 58 void CheckCloudPrintProxyPolicy(); | 58 void CheckCloudPrintProxyPolicy(); |
| 59 | 59 |
| 60 const std::string& user_email() const { | 60 const std::string& user_email() const { |
| 61 return user_email_; | 61 return user_email_; |
| 62 } | 62 } |
| 63 | 63 |
| 64 // CloudPrintProxyFrontend implementation. Called on UI thread. | 64 // CloudPrintProxyFrontend implementation. Called on UI thread. |
| 65 virtual void OnAuthenticated(const std::string& robot_oauth_refresh_token, | 65 void OnAuthenticated(const std::string& robot_oauth_refresh_token, |
| 66 const std::string& robot_email, | 66 const std::string& robot_email, |
| 67 const std::string& user_email) override; | 67 const std::string& user_email) override; |
| 68 virtual void OnAuthenticationFailed() override; | 68 void OnAuthenticationFailed() override; |
| 69 virtual void OnPrintSystemUnavailable() override; | 69 void OnPrintSystemUnavailable() override; |
| 70 virtual void OnUnregisterPrinters( | 70 void OnUnregisterPrinters(const std::string& auth_token, |
| 71 const std::string& auth_token, | 71 const std::list<std::string>& printer_ids) override; |
| 72 const std::list<std::string>& printer_ids) override; | 72 void OnXmppPingUpdated(int ping_timeout) override; |
| 73 virtual void OnXmppPingUpdated(int ping_timeout) override; | |
| 74 | 73 |
| 75 // CloudPrintWipeout::Client implementation. | 74 // CloudPrintWipeout::Client implementation. |
| 76 virtual void OnUnregisterPrintersComplete() override; | 75 void OnUnregisterPrintersComplete() override; |
| 77 | 76 |
| 78 protected: | 77 protected: |
| 79 void ShutdownBackend(); | 78 void ShutdownBackend(); |
| 80 bool CreateBackend(); | 79 bool CreateBackend(); |
| 81 | 80 |
| 82 // Our asynchronous backend to communicate with sync components living on | 81 // Our asynchronous backend to communicate with sync components living on |
| 83 // other threads. | 82 // other threads. |
| 84 scoped_ptr<CloudPrintProxyBackend> backend_; | 83 scoped_ptr<CloudPrintProxyBackend> backend_; |
| 85 // This class does not own this. It is guaranteed to remain valid for the | 84 // This class does not own this. It is guaranteed to remain valid for the |
| 86 // lifetime of this class. | 85 // lifetime of this class. |
| 87 ServiceProcessPrefs* service_prefs_; | 86 ServiceProcessPrefs* service_prefs_; |
| 88 // This class does not own this. If non-NULL, It is guaranteed to remain | 87 // This class does not own this. If non-NULL, It is guaranteed to remain |
| 89 // valid for the lifetime of this class. | 88 // valid for the lifetime of this class. |
| 90 Client* client_; | 89 Client* client_; |
| 91 // The email address of the account used to authenticate to the Cloud Print | 90 // The email address of the account used to authenticate to the Cloud Print |
| 92 // service. | 91 // service. |
| 93 std::string user_email_; | 92 std::string user_email_; |
| 94 // This is set to true when the Cloud Print proxy is enabled and after | 93 // This is set to true when the Cloud Print proxy is enabled and after |
| 95 // successful authentication with the Cloud Print service. | 94 // successful authentication with the Cloud Print service. |
| 96 bool enabled_; | 95 bool enabled_; |
| 97 // This is a cleanup class for unregistering printers on proxy disable. | 96 // This is a cleanup class for unregistering printers on proxy disable. |
| 98 scoped_ptr<CloudPrintWipeout> wipeout_; | 97 scoped_ptr<CloudPrintWipeout> wipeout_; |
| 99 | 98 |
| 100 DISALLOW_COPY_AND_ASSIGN(CloudPrintProxy); | 99 DISALLOW_COPY_AND_ASSIGN(CloudPrintProxy); |
| 101 }; | 100 }; |
| 102 | 101 |
| 103 } // namespace cloud_print | 102 } // namespace cloud_print |
| 104 | 103 |
| 105 #endif // CHROME_SERVICE_CLOUD_PRINT_CLOUD_PRINT_PROXY_H_ | 104 #endif // CHROME_SERVICE_CLOUD_PRINT_CLOUD_PRINT_PROXY_H_ |
| OLD | NEW |