shill: Convert code to use the newest version of libchrome.

The biggest change is a switch from using the deprecated
Task and CallbackN mechanisms to using the new Callback
mechanism.

Note: Original CL was https://gerrit.chromium.org/gerrit/16156.
This is logically another patch to that CL, but since the
latter was already merged, and is considered closed by
Gerrit, it's necessary to create a new CL.

BUG=chromium-os:15330
TEST=Build shill and run it on a zgb with a modem. Build and
run unit tests.
CQ-DEPEND=I37628863370323d30cac493764ea28f8ffd42637

Change-Id: I3ae78a3aa44ec167b79f2170d07650ece888254f
Reviewed-on: https://gerrit.chromium.org/gerrit/18030
Reviewed-by: Eric Shienbrood <ers@chromium.org>
Tested-by: Eric Shienbrood <ers@chromium.org>
Commit-Ready: Eric Shienbrood <ers@chromium.org>
diff --git a/rtnl_listener_unittest.cc b/rtnl_listener_unittest.cc
index 52461fa..aed4137 100644
--- a/rtnl_listener_unittest.cc
+++ b/rtnl_listener_unittest.cc
@@ -5,7 +5,7 @@
 #include <sys/socket.h>
 #include <linux/netlink.h>
 
-#include <base/callback_old.h>
+#include <base/bind.h>
 #include <base/memory/scoped_ptr.h>
 #include <gmock/gmock.h>
 #include <gtest/gtest.h>
@@ -14,6 +14,9 @@
 #include "shill/rtnl_listener.h"
 #include "shill/rtnl_message.h"
 
+using base::Bind;
+using base::Callback;
+using base::Unretained;
 using testing::_;
 using testing::A;
 using testing::Test;
@@ -23,20 +26,21 @@
 class RTNLListenerTest : public Test {
  public:
   RTNLListenerTest()
-      : callback_(NewCallback(this, &RTNLListenerTest::Callback)) {}
+      : callback_(Bind(&RTNLListenerTest::ListenerCallback,
+                       Unretained(this))) {}
 
-  MOCK_METHOD1(Callback, void(const RTNLMessage &));
+  MOCK_METHOD1(ListenerCallback, void(const RTNLMessage &));
 
  protected:
-  scoped_ptr<Callback1<const RTNLMessage &>::Type> callback_;
+  Callback<void(const RTNLMessage &)> callback_;
 };
 
 TEST_F(RTNLListenerTest, NoRun) {
   {
-    RTNLListener listener(RTNLHandler::kRequestAddr, callback_.get());
+    RTNLListener listener(RTNLHandler::kRequestAddr, callback_);
     EXPECT_EQ(1, RTNLHandler::GetInstance()->listeners_.size());
     RTNLMessage message;
-    EXPECT_CALL(*this, Callback(_)).Times(0);
+    EXPECT_CALL(*this, ListenerCallback(_)).Times(0);
     listener.NotifyEvent(RTNLHandler::kRequestLink, message);
   }
   EXPECT_EQ(0, RTNLHandler::GetInstance()->listeners_.size());
@@ -46,10 +50,10 @@
   {
     RTNLListener listener(
         RTNLHandler::kRequestLink | RTNLHandler::kRequestAddr,
-        callback_.get());
+        callback_);
     EXPECT_EQ(1, RTNLHandler::GetInstance()->listeners_.size());
     RTNLMessage message;
-    EXPECT_CALL(*this, Callback(A<const RTNLMessage &>())).Times(1);
+    EXPECT_CALL(*this, ListenerCallback(A<const RTNLMessage &>())).Times(1);
     listener.NotifyEvent(RTNLHandler::kRequestLink, message);
   }
   EXPECT_EQ(0, RTNLHandler::GetInstance()->listeners_.size());