From aff4a570926e5a8f37277c1b9f956b636e5826b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=80=9A=E6=B4=B2?= Date: Fri, 8 Sep 2023 15:47:37 +0800 Subject: [PATCH] Processes: JSON format support --- src/modules/processes/processes.c | 16 +++++++++++++++- src/modules/processes/processes.h | 1 + 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/modules/processes/processes.c b/src/modules/processes/processes.c index 02cf45b38..02a8bb53f 100644 --- a/src/modules/processes/processes.c +++ b/src/modules/processes/processes.c @@ -33,7 +33,7 @@ void ffPrintProcesses(FFProcessesOptions* options) void ffInitProcessesOptions(FFProcessesOptions* options) { - ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_PROCESSES_MODULE_NAME, ffParseProcessesCommandOptions, ffParseProcessesJsonObject, ffPrintProcesses, NULL); + ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_PROCESSES_MODULE_NAME, ffParseProcessesCommandOptions, ffParseProcessesJsonObject, ffPrintProcesses, ffGenerateProcessesJson); ffOptionInitModuleArg(&options->moduleArgs); } @@ -68,3 +68,17 @@ void ffParseProcessesJsonObject(FFProcessesOptions* options, yyjson_val* module) ffPrintError(FF_PROCESSES_MODULE_NAME, 0, &options->moduleArgs, "Unknown JSON key %s", key); } } + +void ffGenerateProcessesJson(FF_MAYBE_UNUSED FFProcessesOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module) +{ + uint32_t result; + const char* error = ffDetectProcesses(&result); + + if(error) + { + yyjson_mut_obj_add_str(doc, module, "error", error); + return; + } + + yyjson_mut_obj_add_uint(doc, module, "result", result); +} diff --git a/src/modules/processes/processes.h b/src/modules/processes/processes.h index 724faf7fb..8f14e00e4 100644 --- a/src/modules/processes/processes.h +++ b/src/modules/processes/processes.h @@ -9,3 +9,4 @@ void ffInitProcessesOptions(FFProcessesOptions* options); bool ffParseProcessesCommandOptions(FFProcessesOptions* options, const char* key, const char* value); void ffDestroyProcessesOptions(FFProcessesOptions* options); void ffParseProcessesJsonObject(FFProcessesOptions* options, yyjson_val* module); +void ffGenerateProcessesJson(FFProcessesOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module);