WM: support JSON format

This commit is contained in:
李通洲
2023-09-13 14:22:04 +08:00
parent 77466ba6f5
commit 804463a470
2 changed files with 17 additions and 1 deletions
+16 -1
View File
@@ -43,7 +43,7 @@ void ffPrintWM(FFWMOptions* options)
void ffInitWMOptions(FFWMOptions* options)
{
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_WM_MODULE_NAME, ffParseWMCommandOptions, ffParseWMJsonObject, ffPrintWM, NULL);
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_WM_MODULE_NAME, ffParseWMCommandOptions, ffParseWMJsonObject, ffPrintWM, ffGenerateWMJson);
ffOptionInitModuleArg(&options->moduleArgs);
}
@@ -78,3 +78,18 @@ void ffParseWMJsonObject(FFWMOptions* options, yyjson_val* module)
ffPrintError(FF_WM_MODULE_NAME, 0, &options->moduleArgs, "Unknown JSON key %s", key);
}
}
void ffGenerateWMJson(FF_MAYBE_UNUSED FFWMOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
const FFDisplayServerResult* result = ffConnectDisplayServer();
if(result->wmPrettyName.length == 0)
{
yyjson_mut_obj_add_str(doc, module, "error", "No WM found");
return;
}
yyjson_mut_val* obj = yyjson_mut_obj_add_obj(doc, module, "result");
yyjson_mut_obj_add_strbuf(doc, obj, "processName", &result->wmProcessName);
yyjson_mut_obj_add_strbuf(doc, obj, "prettyName", &result->wmPrettyName);
yyjson_mut_obj_add_strbuf(doc, obj, "protocolName", &result->wmProtocolName);
}
+1
View File
@@ -9,3 +9,4 @@ void ffInitWMOptions(FFWMOptions* options);
bool ffParseWMCommandOptions(FFWMOptions* options, const char* key, const char* value);
void ffDestroyWMOptions(FFWMOptions* options);
void ffParseWMJsonObject(FFWMOptions* options, yyjson_val* module);
void ffGenerateWMJson(FFWMOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module);