From 0bc097f37d95b3f840aac9b0c759f29f84bae119 Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Wed, 15 Jan 2020 11:00:16 -0800 Subject: [PATCH] wireguard: Implement enabling/disabling app using a stored flag Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- plinth/modules/wireguard/__init__.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/plinth/modules/wireguard/__init__.py b/plinth/modules/wireguard/__init__.py index 26d4bb552..341cfa402 100644 --- a/plinth/modules/wireguard/__init__.py +++ b/plinth/modules/wireguard/__init__.py @@ -84,6 +84,24 @@ class WireguardApp(app_module.App): ports=['wireguard-freedombox'], is_external=True) self.add(firewall) + def enable(self): + """Enable the app by simply storing a flag in key/value store.""" + from plinth import kvstore + super().enable() + kvstore.set('wireguard-enabled', True) + + def disable(self): + """Disable the app by simply storing a flag in key/value store.""" + from plinth import kvstore + super().disable() + kvstore.set('wireguard-enabled', False) + + def is_enabled(self): + """Return whether all leader components are enabled and flag is set.""" + from plinth import kvstore + enabled = super().is_enabled() + return enabled and kvstore.get_default('wireguard-enabled', False) + def init(): """Initialize the module."""