diff options
Diffstat (limited to 'chrome/browser/printing/cloud_print/cloud_print_proxy_service.h')
-rw-r--r-- | chrome/browser/printing/cloud_print/cloud_print_proxy_service.h | 31 |
1 files changed, 22 insertions, 9 deletions
diff --git a/chrome/browser/printing/cloud_print/cloud_print_proxy_service.h b/chrome/browser/printing/cloud_print/cloud_print_proxy_service.h index a3795b0..538da2c 100644 --- a/chrome/browser/printing/cloud_print/cloud_print_proxy_service.h +++ b/chrome/browser/printing/cloud_print/cloud_print_proxy_service.h @@ -4,23 +4,20 @@ #ifndef CHROME_BROWSER_PRINTING_CLOUD_PRINT_CLOUD_PRINT_PROXY_SERVICE_H_ #define CHROME_BROWSER_PRINTING_CLOUD_PRINT_CLOUD_PRINT_PROXY_SERVICE_H_ +#pragma once #include <string> -#include <map> -#include <vector> #include "base/basictypes.h" -#include "base/file_path.h" #include "base/observer_list.h" -#include "base/scoped_ptr.h" -#include "chrome/browser/profile.h" - +#include "base/ref_counted.h" +#include "chrome/browser/printing/cloud_print/cloud_print_setup_flow.h" class Profile; // Layer between the browser user interface and the cloud print proxy code // running in the service process. -class CloudPrintProxyService { +class CloudPrintProxyService : public CloudPrintSetupFlow::Delegate { public: explicit CloudPrintProxyService(Profile* profile); virtual ~CloudPrintProxyService(); @@ -33,11 +30,27 @@ class CloudPrintProxyService { virtual void EnableForUser(const std::string& auth_token); virtual void DisableForUser(); - protected: + bool ShowTokenExpiredNotification(); + + // CloudPrintSetupFlow::Delegate implementation. + virtual void OnDialogClosed(); + + private: + // NotificationDelegate implementation for the token expired notification. + class TokenExpiredNotificationDelegate; + friend class TokenExpiredNotificationDelegate; + + Profile* profile_; + scoped_refptr<TokenExpiredNotificationDelegate> token_expired_delegate_; + void Shutdown(); + void OnTokenExpiredNotificationError(); + void OnTokenExpiredNotificationClosed(bool by_user); + void OnTokenExpiredNotificationClick(); + void TokenExpiredNotificationDone(bool keep_alive); + DISALLOW_COPY_AND_ASSIGN(CloudPrintProxyService); }; #endif // CHROME_BROWSER_PRINTING_CLOUD_PRINT_CLOUD_PRINT_PROXY_SERVICE_H_ - |