shill: Add a query-route callback to RoutingTable::RequestRoutToHost.

The callback will be used by VPN connections to handle underlying
connection disconnects gracefully.

BUG=chromium-os:28080
TEST=unit tests

Change-Id: I1217ae58f7626c41680a81d0f6261b883e17df85
Reviewed-on: https://gerrit.chromium.org/gerrit/22103
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Ready: Darin Petkov <petkov@chromium.org>
diff --git a/connection_unittest.cc b/connection_unittest.cc
index 872b343..a45908a 100644
--- a/connection_unittest.cc
+++ b/connection_unittest.cc
@@ -339,7 +339,7 @@
   ASSERT_TRUE(address.SetAddressFromString(kIPAddress0));
   size_t prefix_len = address.GetLength() * 8;
   EXPECT_CALL(routing_table_, RequestRouteToHost(
-      IsIPAddress(address, prefix_len), -1, kTestDeviceInterfaceIndex0))
+      IsIPAddress(address, prefix_len), -1, kTestDeviceInterfaceIndex0, _))
       .WillOnce(Return(true));
   EXPECT_TRUE(connection->RequestHostRoute(address));
 
@@ -379,12 +379,12 @@
   ASSERT_TRUE(address.SetAddressFromString(kNetwork));
   size_t prefix_len = address.GetLength() * 8;
   EXPECT_CALL(routing_table_, RequestRouteToHost(
-      IsIPAddress(address, prefix_len), -1, kTestDeviceInterfaceIndex0))
+      IsIPAddress(address, prefix_len), -1, kTestDeviceInterfaceIndex0, _))
       .WillOnce(Return(false));
   EXPECT_FALSE(PinHostRoute(connection, props));
 
   EXPECT_CALL(routing_table_, RequestRouteToHost(
-      IsIPAddress(address, prefix_len), -1, kTestDeviceInterfaceIndex0))
+      IsIPAddress(address, prefix_len), -1, kTestDeviceInterfaceIndex0, _))
       .WillOnce(Return(true));
   EXPECT_TRUE(PinHostRoute(connection, props));