Chromium Code Reviews| 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_H_ | 5 #ifndef COMPONENTS_GCM_DRIVER_GCM_DRIVER_H_ |
| 6 #define COMPONENTS_GCM_DRIVER_GCM_DRIVER_H_ | 6 #define COMPONENTS_GCM_DRIVER_GCM_DRIVER_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 16 matching lines...) Expand all Loading... | |
| 27 GCMClient::Result result)> RegisterCallback; | 27 GCMClient::Result result)> RegisterCallback; |
| 28 typedef base::Callback<void(const std::string& message_id, | 28 typedef base::Callback<void(const std::string& message_id, |
| 29 GCMClient::Result result)> SendCallback; | 29 GCMClient::Result result)> SendCallback; |
| 30 typedef base::Callback<void(GCMClient::Result result)> UnregisterCallback; | 30 typedef base::Callback<void(GCMClient::Result result)> UnregisterCallback; |
| 31 typedef base::Callback<void(const GCMClient::GCMStatistics& stats)> | 31 typedef base::Callback<void(const GCMClient::GCMStatistics& stats)> |
| 32 GetGCMStatisticsCallback; | 32 GetGCMStatisticsCallback; |
| 33 | 33 |
| 34 GCMDriver(); | 34 GCMDriver(); |
| 35 virtual ~GCMDriver(); | 35 virtual ~GCMDriver(); |
| 36 | 36 |
| 37 void SetLazyLoadAppHandlersClosure( | |
| 38 const base::Closure& lazy_load_app_handlers); | |
| 39 | |
| 37 // Registers |sender_id| for an app. A registration ID will be returned by | 40 // Registers |sender_id| for an app. A registration ID will be returned by |
| 38 // the GCM server. | 41 // the GCM server. |
| 39 // |app_id|: application ID. | 42 // |app_id|: application ID. |
| 40 // |sender_ids|: list of IDs of the servers that are allowed to send the | 43 // |sender_ids|: list of IDs of the servers that are allowed to send the |
| 41 // messages to the application. These IDs are assigned by the | 44 // messages to the application. These IDs are assigned by the |
| 42 // Google API Console. | 45 // Google API Console. |
| 43 // |callback|: to be called once the asynchronous operation is done. | 46 // |callback|: to be called once the asynchronous operation is done. |
| 44 void Register(const std::string& app_id, | 47 void Register(const std::string& app_id, |
| 45 const std::vector<std::string>& sender_ids, | 48 const std::vector<std::string>& sender_ids, |
| 46 const RegisterCallback& callback); | 49 const RegisterCallback& callback); |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 150 // Callback map (from <app_id, message_id> to callback) for Send. | 153 // Callback map (from <app_id, message_id> to callback) for Send. |
| 151 std::map<std::pair<std::string, std::string>, SendCallback> send_callbacks_; | 154 std::map<std::pair<std::string, std::string>, SendCallback> send_callbacks_; |
| 152 | 155 |
| 153 // App handler map (from app_id to handler pointer). | 156 // App handler map (from app_id to handler pointer). |
| 154 // The handler is not owned. | 157 // The handler is not owned. |
| 155 GCMAppHandlerMap app_handlers_; | 158 GCMAppHandlerMap app_handlers_; |
| 156 | 159 |
| 157 // The default handler when no app handler can be found in the map. | 160 // The default handler when no app handler can be found in the map. |
| 158 DefaultGCMAppHandler default_app_handler_; | 161 DefaultGCMAppHandler default_app_handler_; |
| 159 | 162 |
| 163 // Called before the first time GetAppHandler is run, to allow consumers | |
| 164 // to register app handlers on demand. | |
|
fgorski
2014/06/10 17:09:28
Please explain that scenario a bit better in respo
johnme
2014/06/10 20:33:48
Replied out of band by email.
| |
| 165 base::Closure lazy_load_app_handlers_; | |
| 166 | |
| 160 DISALLOW_COPY_AND_ASSIGN(GCMDriver); | 167 DISALLOW_COPY_AND_ASSIGN(GCMDriver); |
| 161 }; | 168 }; |
| 162 | 169 |
| 163 } // namespace gcm | 170 } // namespace gcm |
| 164 | 171 |
| 165 #endif // COMPONENTS_GCM_DRIVER_GCM_DRIVER_H_ | 172 #endif // COMPONENTS_GCM_DRIVER_GCM_DRIVER_H_ |
| OLD | NEW |