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