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 |