|
|
@ -0,0 +1,44 @@ |
|
|
|
|
|
package org.yuzu.yuzu_emu.utils |
|
|
|
|
|
|
|
|
|
|
|
import org.json.JSONException |
|
|
|
|
|
import org.json.JSONObject |
|
|
|
|
|
import java.io.IOException |
|
|
|
|
|
import java.nio.charset.StandardCharsets |
|
|
|
|
|
import java.nio.file.Files |
|
|
|
|
|
import java.nio.file.Paths |
|
|
|
|
|
|
|
|
|
|
|
class GpuDriverMetadata(metadataFilePath: String) { |
|
|
|
|
|
var name: String? = null |
|
|
|
|
|
var description: String? = null |
|
|
|
|
|
var author: String? = null |
|
|
|
|
|
var vendor: String? = null |
|
|
|
|
|
var driverVersion: String? = null |
|
|
|
|
|
var minApi = 0 |
|
|
|
|
|
var libraryName: String? = null |
|
|
|
|
|
|
|
|
|
|
|
init { |
|
|
|
|
|
try { |
|
|
|
|
|
val json = JSONObject(getStringFromFile(metadataFilePath)) |
|
|
|
|
|
name = json.getString("name") |
|
|
|
|
|
description = json.getString("description") |
|
|
|
|
|
author = json.getString("author") |
|
|
|
|
|
vendor = json.getString("vendor") |
|
|
|
|
|
driverVersion = json.getString("driverVersion") |
|
|
|
|
|
minApi = json.getInt("minApi") |
|
|
|
|
|
libraryName = json.getString("libraryName") |
|
|
|
|
|
} catch (e: JSONException) { |
|
|
|
|
|
// JSON is malformed, ignore and treat as unsupported metadata. |
|
|
|
|
|
} catch (e: IOException) { |
|
|
|
|
|
// File is inaccessible, ignore and treat as unsupported metadata. |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
companion object { |
|
|
|
|
|
@Throws(IOException::class) |
|
|
|
|
|
private fun getStringFromFile(filePath: String): String { |
|
|
|
|
|
val path = Paths.get(filePath) |
|
|
|
|
|
val bytes = Files.readAllBytes(path) |
|
|
|
|
|
return String(bytes, StandardCharsets.UTF_8) |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |