| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 COMPONENTS_GCM_DRIVER_GCM_DRIVER_DESKTOP_H_ | 5 #ifndef COMPONENTS_GCM_DRIVER_GCM_DRIVER_DESKTOP_H_ |
| 6 #define COMPONENTS_GCM_DRIVER_GCM_DRIVER_DESKTOP_H_ | 6 #define COMPONENTS_GCM_DRIVER_GCM_DRIVER_DESKTOP_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <tuple> | 10 #include <tuple> |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 54 const std::string& channel_status_request_url, | 54 const std::string& channel_status_request_url, |
| 55 const std::string& user_agent, | 55 const std::string& user_agent, |
| 56 PrefService* prefs, | 56 PrefService* prefs, |
| 57 const base::FilePath& store_path, | 57 const base::FilePath& store_path, |
| 58 const scoped_refptr<net::URLRequestContextGetter>& request_context, | 58 const scoped_refptr<net::URLRequestContextGetter>& request_context, |
| 59 const scoped_refptr<base::SequencedTaskRunner>& ui_thread, | 59 const scoped_refptr<base::SequencedTaskRunner>& ui_thread, |
| 60 const scoped_refptr<base::SequencedTaskRunner>& io_thread, | 60 const scoped_refptr<base::SequencedTaskRunner>& io_thread, |
| 61 const scoped_refptr<base::SequencedTaskRunner>& blocking_task_runner); | 61 const scoped_refptr<base::SequencedTaskRunner>& blocking_task_runner); |
| 62 ~GCMDriverDesktop() override; | 62 ~GCMDriverDesktop() override; |
| 63 | 63 |
| 64 // GCMDriver overrides: | 64 // GCMDriver implementation: |
| 65 void Shutdown() override; | 65 void Shutdown() override; |
| 66 void OnSignedIn() override; | 66 void OnSignedIn() override; |
| 67 void OnSignedOut() override; | 67 void OnSignedOut() override; |
| 68 void AddAppHandler(const std::string& app_id, | 68 void AddAppHandler(const std::string& app_id, |
| 69 GCMAppHandler* handler) override; | 69 GCMAppHandler* handler) override; |
| 70 void RemoveAppHandler(const std::string& app_id) override; | 70 void RemoveAppHandler(const std::string& app_id) override; |
| 71 void AddConnectionObserver(GCMConnectionObserver* observer) override; | 71 void AddConnectionObserver(GCMConnectionObserver* observer) override; |
| 72 void RemoveConnectionObserver(GCMConnectionObserver* observer) override; | 72 void RemoveConnectionObserver(GCMConnectionObserver* observer) override; |
| 73 void Enable() override; | 73 void Enable() override; |
| 74 void Disable() override; | 74 void Disable() override; |
| 75 GCMClient* GetGCMClientForTesting() const override; | 75 GCMClient* GetGCMClientForTesting() const override; |
| 76 bool IsStarted() const override; | 76 bool IsStarted() const override; |
| 77 bool IsConnected() const override; | 77 bool IsConnected() const override; |
| 78 void GetGCMStatistics(const GetGCMStatisticsCallback& callback, | 78 void GetGCMStatistics(const GetGCMStatisticsCallback& callback, |
| 79 ClearActivityLogs clear_logs) override; | 79 ClearActivityLogs clear_logs) override; |
| 80 void SetGCMRecording(const GetGCMStatisticsCallback& callback, | 80 void SetGCMRecording(const GetGCMStatisticsCallback& callback, |
| 81 bool recording) override; | 81 bool recording) override; |
| 82 void SetAccountTokens( | 82 void SetAccountTokens( |
| 83 const std::vector<GCMClient::AccountTokenInfo>& account_tokens) override; | 83 const std::vector<GCMClient::AccountTokenInfo>& account_tokens) override; |
| 84 void UpdateAccountMapping(const AccountMapping& account_mapping) override; | 84 void UpdateAccountMapping(const AccountMapping& account_mapping) override; |
| 85 void RemoveAccountMapping(const std::string& account_id) override; | 85 void RemoveAccountMapping(const std::string& account_id) override; |
| 86 base::Time GetLastTokenFetchTime() override; | 86 base::Time GetLastTokenFetchTime() override; |
| 87 void SetLastTokenFetchTime(const base::Time& time) override; | 87 void SetLastTokenFetchTime(const base::Time& time) override; |
| 88 void WakeFromSuspendForHeartbeat(bool wake) override; | 88 void WakeFromSuspendForHeartbeat(bool wake) override; |
| 89 InstanceIDHandler* GetInstanceIDHandler() override; | 89 InstanceIDHandler* GetInstanceIDHandlerInternal() override; |
| 90 void AddHeartbeatInterval(const std::string& scope, int interval_ms) override; | 90 void AddHeartbeatInterval(const std::string& scope, int interval_ms) override; |
| 91 void RemoveHeartbeatInterval(const std::string& scope) override; | 91 void RemoveHeartbeatInterval(const std::string& scope) override; |
| 92 | 92 |
| 93 // InstanceIDHandler overrides: | |
| 94 void GetToken(const std::string& app_id, | |
| 95 const std::string& authorized_entity, | |
| 96 const std::string& scope, | |
| 97 const std::map<std::string, std::string>& options, | |
| 98 const GetTokenCallback& callback) override; | |
| 99 void DeleteToken(const std::string& app_id, | |
| 100 const std::string& authorized_entity, | |
| 101 const std::string& scope, | |
| 102 const DeleteTokenCallback& callback) override; | |
| 103 void AddInstanceIDData(const std::string& app_id, | |
| 104 const std::string& instance_id, | |
| 105 const std::string& extra_data) override; | |
| 106 void RemoveInstanceIDData(const std::string& app_id) override; | |
| 107 void GetInstanceIDData(const std::string& app_id, | |
| 108 const GetInstanceIDDataCallback& callback) override; | |
| 109 | |
| 110 // Exposed for testing purpose. | 93 // Exposed for testing purpose. |
| 111 bool gcm_enabled() const { return gcm_enabled_; } | 94 bool gcm_enabled() const { return gcm_enabled_; } |
| 112 GCMChannelStatusSyncer* gcm_channel_status_syncer_for_testing() { | 95 GCMChannelStatusSyncer* gcm_channel_status_syncer_for_testing() { |
| 113 return gcm_channel_status_syncer_.get(); | 96 return gcm_channel_status_syncer_.get(); |
| 114 } | 97 } |
| 115 | 98 |
| 116 protected: | 99 protected: |
| 117 // GCMDriver implementation: | 100 // GCMDriver implementation: |
| 118 GCMClient::Result EnsureStarted(GCMClient::StartMode start_mode) override; | 101 GCMClient::Result EnsureStarted(GCMClient::StartMode start_mode) override; |
| 119 void RegisterImpl(const std::string& app_id, | 102 void RegisterImpl(const std::string& app_id, |
| 120 const std::vector<std::string>& sender_ids) override; | 103 const std::vector<std::string>& sender_ids) override; |
| 121 void UnregisterImpl(const std::string& app_id) override; | 104 void UnregisterImpl(const std::string& app_id) override; |
| 122 void SendImpl(const std::string& app_id, | 105 void SendImpl(const std::string& app_id, |
| 123 const std::string& receiver_id, | 106 const std::string& receiver_id, |
| 124 const OutgoingMessage& message) override; | 107 const OutgoingMessage& message) override; |
| 125 void RecordDecryptionFailure(const std::string& app_id, | 108 void RecordDecryptionFailure(const std::string& app_id, |
| 126 GCMEncryptionProvider::DecryptionResult result) | 109 GCMEncryptionProvider::DecryptionResult result) |
| 127 override; | 110 override; |
| 128 | 111 |
| 112 // InstanceIDHandler implementation: |
| 113 void GetToken(const std::string& app_id, |
| 114 const std::string& authorized_entity, |
| 115 const std::string& scope, |
| 116 const std::map<std::string, std::string>& options, |
| 117 const GetTokenCallback& callback) override; |
| 118 void DeleteToken(const std::string& app_id, |
| 119 const std::string& authorized_entity, |
| 120 const std::string& scope, |
| 121 const DeleteTokenCallback& callback) override; |
| 122 void AddInstanceIDData(const std::string& app_id, |
| 123 const std::string& instance_id, |
| 124 const std::string& extra_data) override; |
| 125 void RemoveInstanceIDData(const std::string& app_id) override; |
| 126 void GetInstanceIDData(const std::string& app_id, |
| 127 const GetInstanceIDDataCallback& callback) override; |
| 128 |
| 129 private: | 129 private: |
| 130 class IOWorker; | 130 class IOWorker; |
| 131 | 131 |
| 132 typedef std::tuple<std::string, std::string, std::string> TokenTuple; | 132 typedef std::tuple<std::string, std::string, std::string> TokenTuple; |
| 133 struct TokenTupleComparer { | 133 struct TokenTupleComparer { |
| 134 bool operator()(const TokenTuple& a, const TokenTuple& b) const; | 134 bool operator()(const TokenTuple& a, const TokenTuple& b) const; |
| 135 }; | 135 }; |
| 136 | 136 |
| 137 // Stops the GCM service. It can be restarted by calling EnsureStarted again. | 137 // Stops the GCM service. It can be restarted by calling EnsureStarted again. |
| 138 void Stop(); | 138 void Stop(); |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 239 | 239 |
| 240 // Used to pass a weak pointer to the IO worker. | 240 // Used to pass a weak pointer to the IO worker. |
| 241 base::WeakPtrFactory<GCMDriverDesktop> weak_ptr_factory_; | 241 base::WeakPtrFactory<GCMDriverDesktop> weak_ptr_factory_; |
| 242 | 242 |
| 243 DISALLOW_COPY_AND_ASSIGN(GCMDriverDesktop); | 243 DISALLOW_COPY_AND_ASSIGN(GCMDriverDesktop); |
| 244 }; | 244 }; |
| 245 | 245 |
| 246 } // namespace gcm | 246 } // namespace gcm |
| 247 | 247 |
| 248 #endif // COMPONENTS_GCM_DRIVER_GCM_DRIVER_DESKTOP_H_ | 248 #endif // COMPONENTS_GCM_DRIVER_GCM_DRIVER_DESKTOP_H_ |
| OLD | NEW |