suyu/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/AbstractSetting.kt

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

32 lines
821 B
Kotlin
Raw Normal View History

// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
2024-03-05 09:42:40 +01:00
// SPDX-License-Identifier: GPL-2.0-or-later
2024-04-01 02:08:49 +02:00
package dev.suyu.suyu_emu.features.settings.model
2024-03-05 09:42:40 +01:00
2024-04-01 02:08:49 +02:00
import dev.suyu.suyu_emu.utils.NativeConfig
2024-03-05 09:42:40 +01:00
interface AbstractSetting {
val key: String
val defaultValue: Any
val isRuntimeModifiable: Boolean
get() = NativeConfig.getIsRuntimeModifiable(key)
val pairedSettingKey: String
get() = NativeConfig.getPairedSettingKey(key)
val isSwitchable: Boolean
get() = NativeConfig.getIsSwitchable(key)
var global: Boolean
get() = NativeConfig.usingGlobal(key)
set(value) = NativeConfig.setGlobal(key, value)
val isSaveable: Boolean
get() = NativeConfig.getIsSaveable(key)
fun getValueAsString(needsGlobal: Boolean = false): String
fun reset()
}