Uptime: JSON format support

This commit is contained in:
李通洲
2023-09-08 14:25:17 +08:00
parent 4356974c5b
commit aafd773fe7
2 changed files with 18 additions and 1 deletions
+17 -1
View File
@@ -91,7 +91,7 @@ void ffPrintUptime(FFUptimeOptions* options)
void ffInitUptimeOptions(FFUptimeOptions* options)
{
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_UPTIME_MODULE_NAME, ffParseUptimeCommandOptions, ffParseUptimeJsonObject, ffPrintUptime, NULL);
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_UPTIME_MODULE_NAME, ffParseUptimeCommandOptions, ffParseUptimeJsonObject, ffPrintUptime, ffGenerateUptimeJson);
ffOptionInitModuleArg(&options->moduleArgs);
}
@@ -126,3 +126,19 @@ void ffParseUptimeJsonObject(FFUptimeOptions* options, yyjson_val* module)
ffPrintError(FF_UPTIME_MODULE_NAME, 0, &options->moduleArgs, "Unknown JSON key %s", key);
}
}
void ffGenerateUptimeJson(FF_MAYBE_UNUSED FFUptimeOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FFUptimeResult result;
const char* error = ffDetectUptime(&result);
if(error)
{
yyjson_mut_obj_add_str(doc, module, "error", error);
return;
}
yyjson_mut_val* obj = yyjson_mut_obj_add_obj(doc, module, "result");
yyjson_mut_obj_add_uint(doc, obj, "uptime", result.uptime);
yyjson_mut_obj_add_uint(doc, obj, "bootTime", result.bootTime);
}
+1
View File
@@ -9,3 +9,4 @@ void ffInitUptimeOptions(FFUptimeOptions* options);
bool ffParseUptimeCommandOptions(FFUptimeOptions* options, const char* key, const char* value);
void ffDestroyUptimeOptions(FFUptimeOptions* options);
void ffParseUptimeJsonObject(FFUptimeOptions* options, yyjson_val* module);
void ffGenerateUptimeJson(FFUptimeOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module);