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 |