diff options
author | Tomás Touceda <chiiph@leap.se> | 2013-09-30 11:50:15 -0300 |
---|---|---|
committer | Tomás Touceda <chiiph@leap.se> | 2013-09-30 11:50:15 -0300 |
commit | 4a4c9b91a8b62729e14c68ff99a51ca8f50cc3b3 (patch) | |
tree | 3516d1628b5c78ebe3459ae2494260060fadbac0 /src/leap/bitmask/services/eip/__init__.py | |
parent | ac502ce982de1191a0af89683db517fe7c90914b (diff) | |
parent | d4df128d1e5b452eb3f8de88174991fafd70913a (diff) |
Merge remote-tracking branch 'ivan/feature/refactor-vpnlaunchers' into develop
Diffstat (limited to 'src/leap/bitmask/services/eip/__init__.py')
-rw-r--r-- | src/leap/bitmask/services/eip/__init__.py | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/src/leap/bitmask/services/eip/__init__.py b/src/leap/bitmask/services/eip/__init__.py index dd010027..6030cac3 100644 --- a/src/leap/bitmask/services/eip/__init__.py +++ b/src/leap/bitmask/services/eip/__init__.py @@ -20,7 +20,11 @@ leap.bitmask.services.eip module initialization import os import tempfile -from leap.bitmask.platform_init import IS_WIN +from leap.bitmask.services.eip.darwinvpnlauncher import DarwinVPNLauncher +from leap.bitmask.services.eip.linuxvpnlauncher import LinuxVPNLauncher +from leap.bitmask.services.eip.windowsvpnlauncher import WindowsVPNLauncher +from leap.bitmask.platform_init import IS_LINUX, IS_MAC, IS_WIN +from leap.common.check import leap_assert def get_openvpn_management(): @@ -40,3 +44,24 @@ def get_openvpn_management(): port = "unix" return host, port + + +def get_vpn_launcher(): + """ + Return the VPN launcher for the current platform. + """ + if not (IS_LINUX or IS_MAC or IS_WIN): + error_msg = "VPN Launcher not implemented for this platform." + raise NotImplementedError(error_msg) + + launcher = None + if IS_LINUX: + launcher = LinuxVPNLauncher + elif IS_MAC: + launcher = DarwinVPNLauncher + elif IS_WIN: + launcher = WindowsVPNLauncher + + leap_assert(launcher is not None) + + return launcher() |