[shill] Migrate to RTNLMessage instead of nlmsghdr

Now, RTNLHandler deals with nlmsghdrs internally, and passes parsed RTNLMessage
objects to everyone else.

Also, move some code out of device_info_unittest.cc that was testing
RTNLHandler::ParseRTNL

BUG=chromium-os:18908
TEST=unit
STATUS=Verified

Change-Id: I8e1546ea8e996a0e2302fe5e5937b03c13cb1a61
Reviewed-on: http://gerrit.chromium.org/gerrit/5612
Reviewed-by: Chris Masone <cmasone@chromium.org>
Tested-by: Chris Masone <cmasone@chromium.org>
diff --git a/rtnl_listener_unittest.cc b/rtnl_listener_unittest.cc
index 540d4cc..52461fa 100644
--- a/rtnl_listener_unittest.cc
+++ b/rtnl_listener_unittest.cc
@@ -12,8 +12,10 @@
 
 #include "shill/rtnl_handler.h"
 #include "shill/rtnl_listener.h"
+#include "shill/rtnl_message.h"
 
 using testing::_;
+using testing::A;
 using testing::Test;
 
 namespace shill {
@@ -23,19 +25,19 @@
   RTNLListenerTest()
       : callback_(NewCallback(this, &RTNLListenerTest::Callback)) {}
 
-  MOCK_METHOD1(Callback, void(struct nlmsghdr *));
+  MOCK_METHOD1(Callback, void(const RTNLMessage &));
 
  protected:
-  scoped_ptr<Callback1<struct nlmsghdr *>::Type> callback_;
+  scoped_ptr<Callback1<const RTNLMessage &>::Type> callback_;
 };
 
 TEST_F(RTNLListenerTest, NoRun) {
   {
     RTNLListener listener(RTNLHandler::kRequestAddr, callback_.get());
     EXPECT_EQ(1, RTNLHandler::GetInstance()->listeners_.size());
-    struct nlmsghdr message;
+    RTNLMessage message;
     EXPECT_CALL(*this, Callback(_)).Times(0);
-    listener.NotifyEvent(RTNLHandler::kRequestLink, &message);
+    listener.NotifyEvent(RTNLHandler::kRequestLink, message);
   }
   EXPECT_EQ(0, RTNLHandler::GetInstance()->listeners_.size());
 }
@@ -46,9 +48,9 @@
         RTNLHandler::kRequestLink | RTNLHandler::kRequestAddr,
         callback_.get());
     EXPECT_EQ(1, RTNLHandler::GetInstance()->listeners_.size());
-    struct nlmsghdr message;
-    EXPECT_CALL(*this, Callback(&message)).Times(1);
-    listener.NotifyEvent(RTNLHandler::kRequestLink, &message);
+    RTNLMessage message;
+    EXPECT_CALL(*this, Callback(A<const RTNLMessage &>())).Times(1);
+    listener.NotifyEvent(RTNLHandler::kRequestLink, message);
   }
   EXPECT_EQ(0, RTNLHandler::GetInstance()->listeners_.size());
 }