shill: vpn: Destroy Unload()ed VPN services
BUG=chromium-os:28481
TEST=New unit test.
Change-Id: I222441d3ff5cbc7d97d97f7fdd2917eee5921721
Reviewed-on: https://gerrit.chromium.org/gerrit/19143
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
diff --git a/vpn_provider.h b/vpn_provider.h
index f4b532c..c968b1e 100644
--- a/vpn_provider.h
+++ b/vpn_provider.h
@@ -39,8 +39,14 @@
// device has been accepted by a service.
bool OnDeviceInfoAvailable(const std::string &link_name, int interface_index);
+ // Clean up a VPN services that has been unloaded and will be deregistered.
+ // This removes the VPN provider's reference to this service in its
+ // services_ vector.
+ void RemoveService(VPNServiceRefPtr service);
+
private:
FRIEND_TEST(VPNProviderTest, OnDeviceInfoAvailable);
+ FRIEND_TEST(VPNProviderTest, RemoveService);
ControlInterface *control_interface_;
EventDispatcher *dispatcher_;