WIP: First "full-stack" implementation of plugin management

This commit is contained in:
grimsi
2024-10-30 23:26:29 +01:00
parent a4ce0826cc
commit 50bb5fa9b4
14 changed files with 262 additions and 29 deletions
@@ -1,5 +1,7 @@
package de.grimsi.gameyfin.pluginapi.core
import org.pf4j.Plugin
abstract class GameyfinPlugin(protected val context: PluginContext) : Plugin()
interface GameyfinPlugin {
fun getConfigMetadata(): List<PluginConfigElement>
fun getCurrentConfig(): Map<String, String?>
fun loadConfig(config: Map<String, String?>)
}
@@ -0,0 +1,7 @@
package de.grimsi.gameyfin.pluginapi.core
data class PluginConfigElement(
val key: String,
val name: String,
val description: String
)
@@ -1,9 +0,0 @@
package de.grimsi.gameyfin.pluginapi.core
import org.pf4j.RuntimeMode
class PluginContext(private val runtimeMode: RuntimeMode) {
fun getRuntimeMode(): RuntimeMode {
return runtimeMode
}
}