1 // Copyright (c) 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/browser/services/gcm/chromeos_gcm_connection_observer.h"
7 #include "base/callback.h"
8 #include "base/logging.h"
9 #include "chromeos/dbus/dbus_thread_manager.h"
10 #include "chromeos/dbus/shill_manager_client.h"
14 ChromeOSGCMConnectionObserver::ChromeOSGCMConnectionObserver() {
17 ChromeOSGCMConnectionObserver::~ChromeOSGCMConnectionObserver() {
21 void ChromeOSGCMConnectionObserver::ErrorCallback(
22 const std::string
& error_name
,
23 const std::string
& error
) {
24 LOG(ERROR
) << "GCM D-Bus method error " << error_name
<< ": " << error
;
27 void ChromeOSGCMConnectionObserver::OnConnected(
28 const net::IPEndPoint
& ip_endpoint
) {
29 ip_endpoint_
= ip_endpoint
;
30 chromeos::DBusThreadManager::Get()->
31 GetShillManagerClient()->
32 AddWakeOnPacketConnection(
34 base::Bind(&base::DoNothing
),
35 base::Bind(&ChromeOSGCMConnectionObserver::ErrorCallback
));
38 void ChromeOSGCMConnectionObserver::OnDisconnected() {
39 chromeos::DBusThreadManager::Get()->
40 GetShillManagerClient()->
41 RemoveWakeOnPacketConnection(
43 base::Bind(&base::DoNothing
),
44 base::Bind(&ChromeOSGCMConnectionObserver::ErrorCallback
));