Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(861)

Unified Diff: chrome/browser/chromeos/chrome_browser_main_chromeos.cc

Issue 409883006: GCM: D-Bus methods for wake-on-packet (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: GCM: D-Bus methods for wake-on-packet Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/chrome_browser_main_chromeos.cc
diff --git a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
index fa32096034d392640984ef88faa047cd8a50c479..bee47b77073be70e3e2546322334518bf23ce94c 100644
--- a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
+++ b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
@@ -96,6 +96,7 @@
#include "chromeos/dbus/dbus_thread_manager.h"
#include "chromeos/dbus/power_policy_controller.h"
#include "chromeos/dbus/session_manager_client.h"
+#include "chromeos/dbus/shill_manager_client.h"
#include "chromeos/disks/disk_mount_manager.h"
#include "chromeos/ime/ime_keyboard.h"
#include "chromeos/ime/input_method_manager.h"
@@ -105,6 +106,7 @@
#include "chromeos/network/network_handler.h"
#include "chromeos/system/statistics_provider.h"
#include "chromeos/tpm_token_loader.h"
+#include "components/gcm_driver/default_gcm_app_handler.h"
#include "components/metrics/metrics_service.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_service.h"
@@ -750,9 +752,36 @@ void ChromeBrowserMainPartsChromeos::PreBrowserStart() {
system::InputDeviceSettings::Get()->SetTapToClick(true);
}
+ // Register GCM connection callbacks.
+ gcm::DefaultGCMAppHandler::RegisterConnectionCallbacks(
+ ChromeBrowserMainPartsChromeos::OnGCMConnected,
+ ChromeBrowserMainPartsChromeos::OnGCMDisconnected);
+
ChromeBrowserMainPartsLinux::PreBrowserStart();
}
+// static
+void ChromeBrowserMainPartsChromeos::GCMErrorCallback(
+ const std::string &error_name,
+ const std::string &error) {
+ LOG(ERROR) << "GCM callback error " << error_name << ": " << error;
+}
+
+// static
+void ChromeBrowserMainPartsChromeos::OnGCMConnected(
+ const net::IPEndPoint& ip_endpoint) {
+ const std::string ip_endpoint_string = ip_endpoint.ToString();
+ chromeos::DBusThreadManager::Get()->
+ GetShillManagerClient()->
+ AddWakeOnPacketConnection(
+ ip_endpoint_string,
+ base::Bind(&base::DoNothing),
+ base::Bind(&ChromeBrowserMainPartsChromeos::GCMErrorCallback));
+}
+
+void ChromeBrowserMainPartsChromeos::OnGCMDisconnected() {
+}
+
void ChromeBrowserMainPartsChromeos::PostBrowserStart() {
// These are dependent on the ash::Shell singleton already having been
// initialized.

Powered by Google App Engine
This is Rietveld 408576698