shill: vpn: Conditionally build VPN support into shill.
VPN is disabled if SHILL_VPN=0 is passed to the Makefile.
BUG=chromium-os:39329
TEST=Together with I9e4d5741cbdcd99c9c109259167d87dbff04ee7a:
- FEATURES=test emerge-lumpy shill;
- After unmerging dependencies, FEATURES=test USE=-vpn emerge-lumpy shill
- Connected to OpenVPN successfully with default USE flags.
- Tested connectivity with shill with no VPN support.
Change-Id: I480a5911a4310ff9f80ca312db2a1bc3fe67bbd1
Reviewed-on: https://gerrit.chromium.org/gerrit/45740
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Darin Petkov <petkov@chromium.org>
Tested-by: Darin Petkov <petkov@chromium.org>
diff --git a/manager.h b/manager.h
index 4c1beba..ae33d39 100644
--- a/manager.h
+++ b/manager.h
@@ -28,7 +28,6 @@
#include "shill/power_manager.h"
#include "shill/property_store.h"
#include "shill/service.h"
-#include "shill/vpn_provider.h"
#include "shill/wifi.h"
#include "shill/wimax_provider.h"
@@ -42,6 +41,7 @@
class ManagerAdaptorInterface;
class Resolver;
class StoreInterface;
+class VPNProvider;
class WiFiProvider;
class Manager : public base::SupportsWeakPtr<Manager> {
@@ -228,8 +228,8 @@
virtual DeviceInfo *device_info() { return &device_info_; }
virtual ModemInfo *modem_info() { return &modem_info_; }
PowerManager *power_manager() const { return power_manager_.get(); }
- virtual VPNProvider *vpn_provider() { return &vpn_provider_; }
- virtual WiFiProvider *wifi_provider() { return wifi_provider_.get(); }
+ VPNProvider *vpn_provider() const { return vpn_provider_.get(); }
+ WiFiProvider *wifi_provider() const { return wifi_provider_.get(); }
virtual WiMaxProvider *wimax_provider() { return &wimax_provider_; }
PropertyStore *mutable_store() { return &store_; }
virtual const PropertyStore &store() const { return store_; }
@@ -332,9 +332,11 @@
private:
friend class CellularTest;
+ friend class DeviceInfoTest;
friend class ManagerAdaptorInterface;
friend class ManagerTest;
friend class ServiceTest;
+ friend class VPNServiceTest;
friend class WiFiObjectTest;
friend class WiMaxProviderTest;
@@ -450,7 +452,7 @@
scoped_ptr<DBusManager> dbus_manager_;
DeviceInfo device_info_;
ModemInfo modem_info_;
- VPNProvider vpn_provider_;
+ scoped_ptr<VPNProvider> vpn_provider_;
scoped_ptr<WiFiProvider> wifi_provider_;
WiMaxProvider wimax_provider_;
// Hold pointer to singleton Resolver instance for testing purposes.