summaryrefslogtreecommitdiff
path: root/py_modules/lsfg_vk/plugin.py
diff options
context:
space:
mode:
authorxXJSONDeruloXx <danielhimebauch@gmail.com>2025-09-22 09:38:20 -0400
committerxXJSONDeruloXx <danielhimebauch@gmail.com>2025-09-22 09:38:20 -0400
commit0da3682755e551a7d3c23fa979686d8dbcdd4f7b (patch)
treef07d360ebaeefba28fe5b5be730c807ce337bddc /py_modules/lsfg_vk/plugin.py
parent84de5901cd1fb7d89031e4e7b3b47ed805e324c8 (diff)
downloaddecky-lsfg-vk-0da3682755e551a7d3c23fa979686d8dbcdd4f7b.tar.gz
decky-lsfg-vk-0da3682755e551a7d3c23fa979686d8dbcdd4f7b.zip
bring forward old flatpak modal attempt
Diffstat (limited to 'py_modules/lsfg_vk/plugin.py')
-rw-r--r--py_modules/lsfg_vk/plugin.py63
1 files changed, 63 insertions, 0 deletions
diff --git a/py_modules/lsfg_vk/plugin.py b/py_modules/lsfg_vk/plugin.py
index f08aa18..ccc9984 100644
--- a/py_modules/lsfg_vk/plugin.py
+++ b/py_modules/lsfg_vk/plugin.py
@@ -18,6 +18,7 @@ from .installation import InstallationService
from .dll_detection import DllDetectionService
from .configuration import ConfigurationService
from .config_schema import ConfigurationManager
+from .flatpak_service import FlatpakService
class Plugin:
@@ -35,6 +36,7 @@ class Plugin:
self.installation_service = InstallationService()
self.dll_detection_service = DllDetectionService()
self.configuration_service = ConfigurationService()
+ self.flatpak_service = FlatpakService()
# Installation methods
async def install_lsfg_vk(self) -> Dict[str, Any]:
@@ -612,6 +614,67 @@ class Plugin:
"exists": False,
"error": str(e)
}
+
+ # Flatpak management methods
+ async def check_flatpak_extension_status(self) -> Dict[str, Any]:
+ """Check status of lsfg-vk Flatpak runtime extensions
+
+ Returns:
+ FlatpakExtensionStatus dict with installation status for both runtime versions
+ """
+ return self.flatpak_service.get_extension_status()
+
+ async def install_flatpak_extension(self, version: str) -> Dict[str, Any]:
+ """Install lsfg-vk Flatpak runtime extension
+
+ Args:
+ version: Runtime version to install ("23.08" or "24.08")
+
+ Returns:
+ BaseResponse dict with success status and message/error
+ """
+ return self.flatpak_service.install_extension(version)
+
+ async def uninstall_flatpak_extension(self, version: str) -> Dict[str, Any]:
+ """Uninstall lsfg-vk Flatpak runtime extension
+
+ Args:
+ version: Runtime version to uninstall ("23.08" or "24.08")
+
+ Returns:
+ BaseResponse dict with success status and message/error
+ """
+ return self.flatpak_service.uninstall_extension(version)
+
+ async def get_flatpak_apps(self) -> Dict[str, Any]:
+ """Get list of installed Flatpak apps and their lsfg-vk override status
+
+ Returns:
+ FlatpakAppInfo dict with apps list and override status
+ """
+ return self.flatpak_service.get_flatpak_apps()
+
+ async def set_flatpak_app_override(self, app_id: str) -> Dict[str, Any]:
+ """Set lsfg-vk overrides for a Flatpak app
+
+ Args:
+ app_id: Flatpak application ID
+
+ Returns:
+ FlatpakOverrideResponse dict with operation result
+ """
+ return self.flatpak_service.set_app_override(app_id)
+
+ async def remove_flatpak_app_override(self, app_id: str) -> Dict[str, Any]:
+ """Remove lsfg-vk overrides for a Flatpak app
+
+ Args:
+ app_id: Flatpak application ID
+
+ Returns:
+ FlatpakOverrideResponse dict with operation result
+ """
+ return self.flatpak_service.remove_app_override(app_id)
# Decky Loader lifecycle methods