summaryrefslogtreecommitdiff
path: root/backend/plugin.py
diff options
context:
space:
mode:
authorTrainDoctor <traindoctor@protonmail.com>2022-10-22 18:36:49 -0700
committerTrainDoctor <traindoctor@protonmail.com>2022-10-22 18:36:49 -0700
commitaf51a29055ca222b8324f80c84c19654eded11a4 (patch)
treefefc5026f7c2b250f51e56681477966112990b98 /backend/plugin.py
parentc546a818f116d3344da1a9c866555036fcb9a7cc (diff)
downloaddecky-loader-af51a29055ca222b8324f80c84c19654eded11a4.tar.gz
decky-loader-af51a29055ca222b8324f80c84c19654eded11a4.zip
Added unload hook for plugins.
Diffstat (limited to 'backend/plugin.py')
-rw-r--r--backend/plugin.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/backend/plugin.py b/backend/plugin.py
index 9d9a22c6..1bf187f6 100644
--- a/backend/plugin.py
+++ b/backend/plugin.py
@@ -71,6 +71,15 @@ class PluginWrapper:
self.log.error("Failed to start " + self.name + "!\n" + format_exc())
exit(0)
+ def _unload(self):
+ try:
+ self.log.info("Attempting to unload " + self.name + "\n")
+ if hasattr(self.Plugin, "_unload"):
+ self.Plugin._unload(self.Plugin)
+ except:
+ self.log.error("Failed to unload " + self.name + "!\n" + format_exc())
+ exit(0)
+
async def _setup_socket(self):
self.socket = await start_unix_server(self._listen_for_method_call, path=self.socket_addr, limit=BUFFER_LIMIT)