summaryrefslogtreecommitdiffstats
path: root/chrome/browser/printing/cloud_print/cloud_print_proxy_service.h
diff options
context:
space:
mode:
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.h31
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_
-