Migration: finish modules support

This commit is contained in:
李通洲
2023-10-24 14:41:29 +08:00
parent 533231825c
commit f4a263df01
51 changed files with 647 additions and 54 deletions
+12 -1
View File
@@ -123,6 +123,17 @@ void ffParseBrightnessJsonObject(FFBrightnessOptions* options, yyjson_val* modul
}
}
void ffGenerateBrightnessJsonConfig(FFBrightnessOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyBrightnessOptions))) FFBrightnessOptions defaultOptions;
ffInitBrightnessOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
if (defaultOptions.ddcciSleep != options->ddcciSleep)
yyjson_mut_obj_add_uint(doc, module, "ddcciSleep", options->ddcciSleep);
}
void ffGenerateBrightnessJsonResult(FF_MAYBE_UNUSED FFBrightnessOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FF_LIST_AUTO_DESTROY result = ffListCreate(sizeof(FFBrightnessResult));
@@ -180,7 +191,7 @@ void ffInitBrightnessOptions(FFBrightnessOptions* options)
ffPrintBrightness,
ffGenerateBrightnessJsonResult,
ffPrintBrightnessHelpFormat,
NULL
ffGenerateBrightnessJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
+9 -1
View File
@@ -77,6 +77,14 @@ void ffParseChassisJsonObject(FFChassisOptions* options, yyjson_val* module)
}
}
void ffGenerateChassisJsonConfig(FFChassisOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyChassisOptions))) FFChassisOptions defaultOptions;
ffInitChassisOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffGenerateChassisJsonResult(FF_MAYBE_UNUSED FFChassisOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FFChassisResult result;
@@ -128,7 +136,7 @@ void ffInitChassisOptions(FFChassisOptions* options)
ffPrintChassis,
ffGenerateChassisJsonResult,
ffPrintChassisHelpFormat,
NULL
ffGenerateChassisJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+25 -1
View File
@@ -127,6 +127,30 @@ void ffParseColorsJsonObject(FFColorsOptions* options, yyjson_val* module)
}
}
void ffGenerateColorsJsonConfig(FFColorsOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyColorsOptions))) FFColorsOptions defaultOptions;
ffInitColorsOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
if (defaultOptions.symbol != options->symbol)
{
switch (options->symbol)
{
case FF_COLORS_SYMBOL_CIRCLE: yyjson_mut_obj_add_str(doc, module, "symbol", "circle"); break;
case FF_COLORS_SYMBOL_DIAMOND: yyjson_mut_obj_add_str(doc, module, "symbol", "diamond"); break;
case FF_COLORS_SYMBOL_TRIANGLE: yyjson_mut_obj_add_str(doc, module, "symbol", "triangle"); break;
case FF_COLORS_SYMBOL_SQUARE: yyjson_mut_obj_add_str(doc, module, "symbol", "square"); break;
case FF_COLORS_SYMBOL_STAR: yyjson_mut_obj_add_str(doc, module, "symbol", "star"); break;
default: yyjson_mut_obj_add_str(doc, module, "symbol", "block"); break;
}
}
if (defaultOptions.paddingLeft != options->paddingLeft)
yyjson_mut_obj_add_uint(doc, module, "paddingLeft", options->paddingLeft);
}
void ffInitColorsOptions(FFColorsOptions* options)
{
ffOptionInitModuleBaseInfo(
@@ -137,7 +161,7 @@ void ffInitColorsOptions(FFColorsOptions* options)
ffPrintColors,
NULL,
NULL,
NULL
ffGenerateColorsJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
ffStrbufSetStatic(&options->moduleArgs.key, " ");
+15 -1
View File
@@ -96,6 +96,20 @@ void ffParseCommandJsonObject(FFCommandOptions* options, yyjson_val* module)
}
}
void ffGenerateCommandJsonConfig(FFCommandOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyCommandOptions))) FFCommandOptions defaultOptions;
ffInitCommandOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
if (!ffStrbufEqual(&defaultOptions.shell, &options->shell))
yyjson_mut_obj_add_strbuf(doc, module, "shell", &options->shell);
if (!ffStrbufEqual(&defaultOptions.text, &options->text))
yyjson_mut_obj_add_strbuf(doc, module, "text", &options->text);
}
void ffGenerateCommandJsonResult(FF_MAYBE_UNUSED FFCommandOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FF_STRBUF_AUTO_DESTROY result = ffStrbufCreate();
@@ -142,7 +156,7 @@ void ffInitCommandOptions(FFCommandOptions* options)
ffPrintCommand,
ffGenerateCommandJsonResult,
ffPrintCommandHelpFormat,
NULL
ffGenerateCommandJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
+17 -3
View File
@@ -77,7 +77,7 @@ void ffPrintCPU(FFCPUOptions* options)
ffStrbufDestroy(&cpu.vendor);
}
bool ffParseCPUCommandOptions(FFCPUOptions* options, const char* key, const char* value)
bool ffParseCPUCPUOptions(FFCPUOptions* options, const char* key, const char* value)
{
const char* subKey = ffOptionTestPrefix(key, FF_CPU_MODULE_NAME);
if (!subKey) return false;
@@ -128,6 +128,20 @@ void ffParseCPUJsonObject(FFCPUOptions* options, yyjson_val* module)
}
}
void ffGenerateCPUJsonConfig(FFCPUOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyCPUOptions))) FFCPUOptions defaultOptions;
ffInitCPUOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
if (defaultOptions.temp != options->temp)
yyjson_mut_obj_add_bool(doc, module, "temp", options->temp);
if (defaultOptions.freqNdigits != options->freqNdigits)
yyjson_mut_obj_add_uint(doc, module, "freqNdigits", options->freqNdigits);
}
void ffGenerateCPUJsonResult(FFCPUOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FFCPUResult cpu;
@@ -188,12 +202,12 @@ void ffInitCPUOptions(FFCPUOptions* options)
ffOptionInitModuleBaseInfo(
&options->moduleInfo,
FF_CPU_MODULE_NAME,
ffParseCPUCommandOptions,
ffParseCPUCPUOptions,
ffParseCPUJsonObject,
ffPrintCPU,
ffGenerateCPUJsonResult,
ffPrintCPUHelpFormat,
NULL
ffGenerateCPUJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
options->temp = false;
+12 -1
View File
@@ -124,6 +124,17 @@ void ffParseCPUUsageJsonObject(FFCPUUsageOptions* options, yyjson_val* module)
}
}
void ffGenerateCPUUsageJsonConfig(FFCPUUsageOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyCPUUsageOptions))) FFCPUUsageOptions defaultOptions;
ffInitCPUUsageOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
if (options->separate != defaultOptions.separate)
yyjson_mut_obj_add_bool(doc, module, "separate", options->separate);
}
void ffGenerateCPUUsageJsonResult(FF_MAYBE_UNUSED FFCPUUsageOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FF_LIST_AUTO_DESTROY percentages = ffListCreate(sizeof(double));
@@ -162,7 +173,7 @@ void ffInitCPUUsageOptions(FFCPUUsageOptions* options)
ffPrintCPUUsage,
ffGenerateCPUUsageJsonResult,
ffPrintCPUUsageHelpFormat,
NULL
ffGenerateCPUUsageJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+9 -1
View File
@@ -77,6 +77,14 @@ void ffParseCursorJsonObject(FFCursorOptions* options, yyjson_val* module)
}
}
void ffGenerateCursorJsonConfig(FFCursorOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyCursorOptions))) FFCursorOptions defaultOptions;
ffInitCursorOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffGenerateCursorJsonResult(FF_MAYBE_UNUSED FFCursorOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FFCursorResult result;
@@ -119,7 +127,7 @@ void ffInitCursorOptions(FFCursorOptions* options)
ffPrintCursor,
ffGenerateCursorJsonResult,
ffPrintCursorHelpFormat,
NULL
ffGenerateCursorJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+9 -1
View File
@@ -168,6 +168,14 @@ void ffParseDateTimeJsonObject(FFDateTimeOptions* options, yyjson_val* module)
}
}
void ffGenerateDateTimeJsonConfig(FFDateTimeOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyDateTimeOptions))) FFDateTimeOptions defaultOptions;
ffInitDateTimeOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffGenerateDateTimeJsonResult(FF_MAYBE_UNUSED FFDateTimeOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
yyjson_mut_obj_add_uint(doc, module, "result", ffTimeGetNow());
@@ -209,7 +217,7 @@ void ffInitDateTimeOptions(FFDateTimeOptions* options)
ffPrintDateTime,
ffGenerateDateTimeJsonResult,
ffPrintDateTimeHelpFormat,
NULL
ffGenerateDateTimeJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+9 -1
View File
@@ -67,6 +67,14 @@ void ffParseDEJsonObject(FFDEOptions* options, yyjson_val* module)
}
}
void ffGenerateDEJsonConfig(FFDEOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyDEOptions))) FFDEOptions defaultOptions;
ffInitDEOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffGenerateDEJsonResult(FF_MAYBE_UNUSED FFDEOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
const FFDisplayServerResult* result = ffConnectDisplayServer();
@@ -102,7 +110,7 @@ void ffInitDEOptions(FFDEOptions* options)
ffPrintDE,
ffGenerateDEJsonResult,
ffPrintDEHelpFormat,
NULL
ffGenerateDEJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+33 -1
View File
@@ -358,6 +358,38 @@ void ffParseDiskJsonObject(FFDiskOptions* options, yyjson_val* module)
}
}
void ffGenerateDiskJsonConfig(FFDiskOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyDiskOptions))) FFDiskOptions defaultOptions;
ffInitDiskOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
if (defaultOptions.showTypes != options->showTypes)
{
if (options->showTypes & FF_DISK_VOLUME_TYPE_EXTERNAL_BIT)
yyjson_mut_obj_add_bool(doc, module, "showExternal", true);
if (options->showTypes & FF_DISK_VOLUME_TYPE_HIDDEN_BIT)
yyjson_mut_obj_add_bool(doc, module, "showHidden", true);
if (options->showTypes & FF_DISK_VOLUME_TYPE_SUBVOLUME_BIT)
yyjson_mut_obj_add_bool(doc, module, "showSubvolumes", true);
if (options->showTypes & FF_DISK_VOLUME_TYPE_READONLY_BIT)
yyjson_mut_obj_add_bool(doc, module, "showReadOnly", true);
if (options->showTypes & FF_DISK_VOLUME_TYPE_UNKNOWN_BIT)
yyjson_mut_obj_add_bool(doc, module, "showUnknown", true);
}
if (!ffStrbufEqual(&options->folders, &defaultOptions.folders))
yyjson_mut_obj_add_strbuf(doc, module, "folders", &options->folders);
if (defaultOptions.calcType != options->calcType)
yyjson_mut_obj_add_bool(doc, module, "useAvailable", options->calcType == FF_DISK_CALC_TYPE_AVAILABLE);
}
void ffGenerateDiskJsonResult(FFDiskOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FF_LIST_AUTO_DESTROY disks = ffListCreate(sizeof (FFDisk));
@@ -436,7 +468,7 @@ void ffInitDiskOptions(FFDiskOptions* options)
ffPrintDisk,
ffGenerateDiskJsonResult,
ffPrintDiskHelpFormat,
NULL
ffGenerateDiskJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
+12 -1
View File
@@ -151,6 +151,17 @@ void ffParseDiskIOJsonObject(FFDiskIOOptions* options, yyjson_val* module)
}
}
void ffGenerateDiskIOJsonConfig(FFDiskIOOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyDiskIOOptions))) FFDiskIOOptions defaultOptions;
ffInitDiskIOOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
if (!ffStrbufEqual(&options->namePrefix, &defaultOptions.namePrefix))
yyjson_mut_obj_add_strbuf(doc, module, "namePrefix", &options->namePrefix);
}
void ffGenerateDiskIOJsonResult(FFDiskIOOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FF_LIST_AUTO_DESTROY result = ffListCreate(sizeof(FFDiskIOResult));
@@ -223,7 +234,7 @@ void ffInitDiskIOOptions(FFDiskIOOptions* options)
ffPrintDiskIO,
ffGenerateDiskIOJsonResult,
ffPrintDiskIOHelpFormat,
NULL
ffGenerateDiskIOJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
+28 -1
View File
@@ -175,6 +175,33 @@ void ffParseDisplayJsonObject(FFDisplayOptions* options, yyjson_val* module)
}
}
void ffGenerateDisplayJsonConfig(FFDisplayOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyDisplayOptions))) FFDisplayOptions defaultOptions;
ffInitDisplayOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
if (options->compactType != defaultOptions.compactType)
{
switch (options->compactType)
{
case FF_DISPLAY_COMPACT_TYPE_NONE:
yyjson_mut_obj_add_str(doc, module, "compactType", "none");
break;
case FF_DISPLAY_COMPACT_TYPE_ORIGINAL_BIT:
yyjson_mut_obj_add_str(doc, module, "compactType", "original");
break;
case FF_DISPLAY_COMPACT_TYPE_SCALED_BIT:
yyjson_mut_obj_add_str(doc, module, "compactType", "scaled");
break;
}
}
if (options->preciseRefreshRate != defaultOptions.preciseRefreshRate)
yyjson_mut_obj_add_bool(doc, module, "preciseRefreshRate", options->preciseRefreshRate);
}
void ffGenerateDisplayJsonResult(FF_MAYBE_UNUSED FFDisplayOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
const FFDisplayServerResult* dsResult = ffConnectDisplayServer();
@@ -236,7 +263,7 @@ void ffInitDisplayOptions(FFDisplayOptions* options)
ffPrintDisplay,
ffGenerateDisplayJsonResult,
ffPrintDisplayHelpFormat,
NULL
ffGenerateDisplayJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
options->compactType = FF_DISPLAY_COMPACT_TYPE_NONE;
+9 -1
View File
@@ -70,6 +70,14 @@ void ffParseFontJsonObject(FFFontOptions* options, yyjson_val* module)
}
}
void ffGenerateFontJsonConfig(FFFontOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyFontOptions))) FFFontOptions defaultOptions;
ffInitFontOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffGenerateFontJsonResult(FF_MAYBE_UNUSED FFFontOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FFFontResult font;
@@ -117,7 +125,7 @@ void ffInitFontOptions(FFFontOptions* options)
ffPrintFont,
ffGenerateFontJsonResult,
ffPrintFontHelpFormat,
NULL
ffGenerateFontJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+9 -1
View File
@@ -76,6 +76,14 @@ void ffParseGamepadJsonObject(FFGamepadOptions* options, yyjson_val* module)
}
}
void ffGenerateGamepadJsonConfig(FFGamepadOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyGamepadOptions))) FFGamepadOptions defaultOptions;
ffInitGamepadOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffGenerateGamepadJsonResult(FF_MAYBE_UNUSED FFGamepadOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FF_LIST_AUTO_DESTROY result = ffListCreate(sizeof(FFGamepadDevice));
@@ -127,7 +135,7 @@ void ffInitGamepadOptions(FFGamepadOptions* options)
ffPrintGamepad,
ffGenerateGamepadJsonResult,
ffPrintGamepadHelpFormat,
NULL
ffGenerateGamepadJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+31 -1
View File
@@ -200,6 +200,36 @@ void ffParseGPUJsonObject(FFGPUOptions* options, yyjson_val* module)
}
}
void ffGenerateGPUJsonConfig(FFGPUOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyGPUOptions))) FFGPUOptions defaultOptions;
ffInitGPUOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
if (options->forceVulkan != defaultOptions.forceVulkan)
yyjson_mut_obj_add_bool(doc, module, "forceVulkan", options->forceVulkan);
if (options->temp != defaultOptions.temp)
yyjson_mut_obj_add_bool(doc, module, "temp", options->temp);
if (options->hideType != defaultOptions.hideType)
{
switch (options->hideType)
{
case FF_GPU_TYPE_UNKNOWN:
yyjson_mut_obj_add_str(doc, module, "hideType", "none");
break;
case FF_GPU_TYPE_INTEGRATED:
yyjson_mut_obj_add_str(doc, module, "hideType", "intergrated");
break;
case FF_GPU_TYPE_DISCRETE:
yyjson_mut_obj_add_str(doc, module, "hideType", "discrete");
break;
}
}
}
void ffGenerateGPUJsonResult(FFGPUOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FF_LIST_AUTO_DESTROY gpus = ffListCreate(sizeof (FFGPUResult));
@@ -293,7 +323,7 @@ void ffInitGPUOptions(FFGPUOptions* options)
ffPrintGPU,
ffGenerateGPUJsonResult,
ffPrintGPUHelpFormat,
NULL
ffGenerateGPUJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
+9 -1
View File
@@ -92,6 +92,14 @@ void ffParseHostJsonObject(FFHostOptions* options, yyjson_val* module)
}
}
void ffGenerateHostJsonConfig(FFHostOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyHostOptions))) FFHostOptions defaultOptions;
ffInitHostOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffGenerateHostJsonResult(FF_MAYBE_UNUSED FFHostOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FFHostResult host;
@@ -150,7 +158,7 @@ void ffInitHostOptions(FFHostOptions* options)
ffPrintHost,
ffGenerateHostJsonResult,
ffPrintHostHelpFormat,
NULL
ffGenerateHostJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+9 -1
View File
@@ -57,6 +57,14 @@ void ffParseIconsJsonObject(FFIconsOptions* options, yyjson_val* module)
}
}
void ffGenerateIconsJsonConfig(FFIconsOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyIconsOptions))) FFIconsOptions defaultOptions;
ffInitIconsOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffGenerateIconsJsonResult(FF_MAYBE_UNUSED FFIconsOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FF_STRBUF_AUTO_DESTROY icons = ffStrbufCreate();
@@ -88,7 +96,7 @@ void ffInitIconsOptions(FFIconsOptions* options)
ffPrintIcons,
ffGenerateIconsJsonResult,
ffPrintIconsHelpFormat,
NULL
ffGenerateIconsJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+9 -1
View File
@@ -57,6 +57,14 @@ void ffParseKernelJsonObject(FFKernelOptions* options, yyjson_val* module)
}
}
void ffGenerateKernelJsonConfig(FFKernelOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyKernelOptions))) FFKernelOptions defaultOptions;
ffInitKernelOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffGenerateKernelJsonResult(FF_MAYBE_UNUSED FFKernelOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
yyjson_mut_val* obj = yyjson_mut_obj_add_obj(doc, module, "result");
@@ -86,7 +94,7 @@ void ffInitKernelOptions(FFKernelOptions* options)
ffPrintKernel,
ffGenerateKernelJsonResult,
ffPrintKernelHelpFormat,
NULL
ffGenerateKernelJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+9 -1
View File
@@ -76,6 +76,14 @@ void ffParseLMJsonObject(FFLMOptions* options, yyjson_val* module)
}
}
void ffGenerateLMJsonConfig(FFLMOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyLMOptions))) FFLMOptions defaultOptions;
ffInitLMOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffGenerateLMJsonResult(FF_MAYBE_UNUSED FFLMOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FFLMResult result;
@@ -126,7 +134,7 @@ void ffInitLMOptions(FFLMOptions* options)
ffPrintLM,
ffGenerateLMJsonResult,
ffPrintLMHelpFormat,
NULL
ffGenerateLMJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+9 -1
View File
@@ -57,6 +57,14 @@ void ffParseLocaleJsonObject(FFLocaleOptions* options, yyjson_val* module)
}
}
void ffGenerateLocaleJsonConfig(FFLocaleOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyLocaleOptions))) FFLocaleOptions defaultOptions;
ffInitLocaleOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffGenerateLocaleJsonResult(FF_MAYBE_UNUSED FFLocaleOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FF_STRBUF_AUTO_DESTROY locale = ffStrbufCreate();
@@ -88,7 +96,7 @@ void ffInitLocaleOptions(FFLocaleOptions* options)
ffPrintLocale,
ffGenerateLocaleJsonResult,
ffPrintLocaleHelpFormat,
NULL
ffGenerateLocaleJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+33 -1
View File
@@ -272,6 +272,38 @@ void ffParseLocalIpJsonObject(FFLocalIpOptions* options, yyjson_val* module)
}
}
void ffGenerateLocalIpJsonConfig(FFLocalIpOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyLocalIpOptions))) FFLocalIpOptions defaultOptions;
ffInitLocalIpOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
if (defaultOptions.showType != options->showType)
{
if (options->showType & FF_LOCALIP_TYPE_IPV4_BIT)
yyjson_mut_obj_add_bool(doc, module, "showIpv4", true);
if (options->showType & FF_LOCALIP_TYPE_IPV6_BIT)
yyjson_mut_obj_add_bool(doc, module, "showIpv6", true);
if (options->showType & FF_LOCALIP_TYPE_MAC_BIT)
yyjson_mut_obj_add_bool(doc, module, "showMac", true);
if (options->showType & FF_LOCALIP_TYPE_LOOP_BIT)
yyjson_mut_obj_add_bool(doc, module, "showLoop", true);
if (options->showType & FF_LOCALIP_TYPE_COMPACT_BIT)
yyjson_mut_obj_add_bool(doc, module, "compact", true);
}
if (!ffStrbufEqual(&options->namePrefix, &defaultOptions.namePrefix))
yyjson_mut_obj_add_strbuf(doc, module, "namePrefix", &options->namePrefix);
if (options->defaultRouteOnly != defaultOptions.defaultRouteOnly)
yyjson_mut_obj_add_bool(doc, module, "defaultRouteOnly", options->defaultRouteOnly);
}
void ffGenerateLocalIpJsonResult(FF_MAYBE_UNUSED FFLocalIpOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FF_LIST_AUTO_DESTROY results = ffListCreate(sizeof(FFLocalIpResult));
@@ -332,7 +364,7 @@ void ffInitLocalIpOptions(FFLocalIpOptions* options)
ffPrintLocalIp,
ffGenerateLocalIpJsonResult,
ffPrintLocalIpHelpFormat,
NULL
ffGenerateLocalIpJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
+9 -1
View File
@@ -132,6 +132,14 @@ void ffParseMediaJsonObject(FFMediaOptions* options, yyjson_val* module)
}
}
void ffGenerateMediaJsonConfig(FFMediaOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyMediaOptions))) FFMediaOptions defaultOptions;
ffInitMediaOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffGenerateMediaJsonResult(FF_MAYBE_UNUSED FFMediaOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
const FFMediaResult* media = ffDetectMedia();
@@ -170,7 +178,7 @@ void ffInitMediaOptions(FFMediaOptions* options)
ffPrintMedia,
ffGenerateMediaJsonResult,
ffPrintMediaHelpFormat,
NULL
ffGenerateMediaJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+9 -1
View File
@@ -93,6 +93,14 @@ void ffParseMemoryJsonObject(FFMemoryOptions* options, yyjson_val* module)
}
}
void ffGenerateMemoryJsonConfig(FFMemoryOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyMemoryOptions))) FFMemoryOptions defaultOptions;
ffInitMemoryOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffGenerateMemoryJsonResult(FF_MAYBE_UNUSED FFMemoryOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FFMemoryResult storage;
@@ -128,7 +136,7 @@ void ffInitMemoryOptions(FFMemoryOptions* options)
ffPrintMemory,
ffGenerateMemoryJsonResult,
ffPrintMemoryHelpFormat,
NULL
ffGenerateMemoryJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+9 -1
View File
@@ -102,6 +102,14 @@ void ffParseMonitorJsonObject(FFMonitorOptions* options, yyjson_val* module)
}
}
void ffGenerateMonitorJsonConfig(FFMonitorOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyMonitorOptions))) FFMonitorOptions defaultOptions;
ffInitMonitorOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffGenerateMonitorJsonResult(FF_MAYBE_UNUSED FFMonitorOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FF_LIST_AUTO_DESTROY results = ffListCreate(sizeof(FFMonitorResult));
@@ -160,7 +168,7 @@ void ffInitMonitorOptions(FFMonitorOptions* options)
ffPrintMonitor,
ffGenerateMonitorJsonResult,
ffPrintMonitorHelpFormat,
NULL
ffGenerateMonitorJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+15 -1
View File
@@ -150,6 +150,20 @@ void ffParseNetIOJsonObject(FFNetIOOptions* options, yyjson_val* module)
}
}
void ffGenerateNetIOJsonConfig(FFNetIOOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyNetIOOptions))) FFNetIOOptions defaultOptions;
ffInitNetIOOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
if (!ffStrbufEqual(&options->namePrefix, &defaultOptions.namePrefix))
yyjson_mut_obj_add_strbuf(doc, module, "namePrefix", &options->namePrefix);
if (options->defaultRouteOnly != defaultOptions.defaultRouteOnly)
yyjson_mut_obj_add_bool(doc, module, "defaultRouteOnly", options->defaultRouteOnly);
}
void ffGenerateNetIOJsonResult(FFNetIOOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FF_LIST_AUTO_DESTROY result = ffListCreate(sizeof(FFNetIOResult));
@@ -211,7 +225,7 @@ void ffInitNetIOOptions(FFNetIOOptions* options)
ffPrintNetIO,
ffGenerateNetIOJsonResult,
ffPrintNetIOHelpFormat,
NULL
ffGenerateNetIOJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
+9 -1
View File
@@ -66,6 +66,14 @@ void ffParseOpenCLJsonObject(FFOpenCLOptions* options, yyjson_val* module)
}
}
void ffGenerateOpenCLJsonConfig(FFOpenCLOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyOpenCLOptions))) FFOpenCLOptions defaultOptions;
ffInitOpenCLOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffGenerateOpenCLJsonResult(FF_MAYBE_UNUSED FFOpenCLOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FFOpenCLResult opencl;
@@ -111,7 +119,7 @@ void ffInitOpenCLOptions(FFOpenCLOptions* options)
ffPrintOpenCL,
ffGenerateOpenCLJsonResult,
ffPrintOpenCLHelpFormat,
NULL
ffGenerateOpenCLJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+14 -1
View File
@@ -101,6 +101,19 @@ void ffParseOpenGLJsonObject(FFOpenGLOptions* options, yyjson_val* module)
}
}
void ffGenerateOpenGLJsonConfig(FFOpenGLOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyOpenGLOptions))) FFOpenGLOptions defaultOptions;
ffInitOpenGLOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
#if defined(__linux__) || defined(__FreeBSD__)
if (!ffStrbufEqual(&options->library, &defaultOptions.library))
yyjson_mut_obj_add_strbuf(doc, module, "library", &options->library);
#endif
}
void ffGenerateOpenGLJsonResult(FF_MAYBE_UNUSED FFOpenGLOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FFOpenGLResult result;
@@ -149,7 +162,7 @@ void ffInitOpenGLOptions(FFOpenGLOptions* options)
ffPrintOpenGL,
ffGenerateOpenGLJsonResult,
ffPrintOpenGLHelpFormat,
NULL
ffGenerateOpenGLJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
+9 -1
View File
@@ -163,6 +163,14 @@ void ffParseOSJsonObject(FFOSOptions* options, yyjson_val* module)
}
}
void ffGenerateOSJsonConfig(FFOSOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyOSOptions))) FFOSOptions defaultOptions;
ffInitOSOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffGenerateOSJsonResult(FF_MAYBE_UNUSED FFOSOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
const FFOSResult* os = ffDetectOS();
@@ -214,7 +222,7 @@ void ffInitOSOptions(FFOSOptions* options)
ffPrintOS,
ffGenerateOSJsonResult,
ffPrintOSHelpFormat,
NULL
ffGenerateOSJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+9 -1
View File
@@ -129,6 +129,14 @@ void ffParsePackagesJsonObject(FFPackagesOptions* options, yyjson_val* module)
}
}
void ffGeneratePackagesJsonConfig(FFPackagesOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyPackagesOptions))) FFPackagesOptions defaultOptions;
ffInitPackagesOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffGeneratePackagesJsonResult(FF_MAYBE_UNUSED FFPackagesOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FFPackagesResult counts = {};
@@ -214,7 +222,7 @@ void ffInitPackagesOptions(FFPackagesOptions* options)
ffPrintPackages,
ffGeneratePackagesJsonResult,
ffPrintPackagesHelpFormat,
NULL
ffGeneratePackagesJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+9 -1
View File
@@ -100,6 +100,14 @@ void ffParsePlayerJsonObject(FFPlayerOptions* options, yyjson_val* module)
}
}
void ffGeneratePlayerJsonConfig(FFPlayerOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyPlayerOptions))) FFPlayerOptions defaultOptions;
ffInitPlayerOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffGeneratePlayerJsonResult(FF_MAYBE_UNUSED FFMediaOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
const FFMediaResult* media = ffDetectMedia();
@@ -136,7 +144,7 @@ void ffInitPlayerOptions(FFPlayerOptions* options)
ffPrintPlayer,
ffGeneratePlayerJsonResult,
ffPrintPlayerHelpFormat,
NULL
ffGeneratePlayerJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+9 -1
View File
@@ -70,6 +70,14 @@ bool ffParsePowerAdapterCommandOptions(FFPowerAdapterOptions* options, const cha
return false;
}
void ffGeneratePowerAdapterJsonConfig(FFPowerAdapterOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyPowerAdapterOptions))) FFPowerAdapterOptions defaultOptions;
ffInitPowerAdapterOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffParsePowerAdapterJsonObject(FFPowerAdapterOptions* options, yyjson_val* module)
{
yyjson_val *key_, *val;
@@ -137,7 +145,7 @@ void ffInitPowerAdapterOptions(FFPowerAdapterOptions* options)
ffPrintPowerAdapter,
ffGeneratePowerAdapterJsonResult,
ffPrintPowerAdapterHelpFormat,
NULL
ffGeneratePowerAdapterJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+9 -1
View File
@@ -58,6 +58,14 @@ void ffParseProcessesJsonObject(FFProcessesOptions* options, yyjson_val* module)
}
}
void ffGenerateProcessesJsonConfig(FFProcessesOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyProcessesOptions))) FFProcessesOptions defaultOptions;
ffInitProcessesOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffGenerateProcessesJsonResult(FF_MAYBE_UNUSED FFProcessesOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
uint32_t result;
@@ -89,7 +97,7 @@ void ffInitProcessesOptions(FFProcessesOptions* options)
ffPrintProcesses,
ffGenerateProcessesJsonResult,
ffPrintProcessesHelpFormat,
NULL
ffGenerateProcessesJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+12 -1
View File
@@ -91,6 +91,17 @@ void ffParsePublicIpJsonObject(FFPublicIpOptions* options, yyjson_val* module)
}
}
void ffGeneratePublicIpJsonConfig(FFPublicIpOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyPublicIpOptions))) FFPublicIpOptions defaultOptions;
ffInitPublicIpOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
if (!ffStrbufEqual(&options->url, &defaultOptions.url))
yyjson_mut_obj_add_strbuf(doc, module, "url", &options->url);
}
void ffGeneratePublicIpJsonResult(FFPublicIpOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FFPublicIpResult result;
@@ -130,7 +141,7 @@ void ffInitPublicIpOptions(FFPublicIpOptions* options)
ffPrintPublicIp,
ffGeneratePublicIpJsonResult,
ffPrintPublicIpHelpFormat,
NULL
ffGeneratePublicIpJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
+10 -1
View File
@@ -109,6 +109,15 @@ void ffParseSeparatorJsonObject(FFSeparatorOptions* options, yyjson_val* module)
}
}
void ffGenerateSeparatorJsonConfig(FFSeparatorOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroySeparatorOptions))) FFSeparatorOptions defaultOptions;
ffInitSeparatorOptions(&defaultOptions);
if (!ffStrbufEqual(&options->string, &defaultOptions.string))
yyjson_mut_obj_add_strbuf(doc, module, "string", &options->string);
}
void ffInitSeparatorOptions(FFSeparatorOptions* options)
{
ffOptionInitModuleBaseInfo(
@@ -119,7 +128,7 @@ void ffInitSeparatorOptions(FFSeparatorOptions* options)
ffPrintSeparator,
NULL,
NULL,
NULL
ffGenerateSeparatorJsonConfig
);
ffStrbufInit(&options->string);
}
+9 -1
View File
@@ -69,6 +69,14 @@ void ffParseShellJsonObject(FFShellOptions* options, yyjson_val* module)
}
}
void ffGenerateShellJsonConfig(FFShellOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyShellOptions))) FFShellOptions defaultOptions;
ffInitShellOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffGenerateShellJsonResult(FF_MAYBE_UNUSED FFShellOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
const FFTerminalShellResult* result = ffDetectTerminalShell();
@@ -109,7 +117,7 @@ void ffInitShellOptions(FFShellOptions* options)
ffPrintShell,
ffGenerateShellJsonResult,
ffPrintShellHelpFormat,
NULL
ffGenerateShellJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+25 -2
View File
@@ -82,7 +82,6 @@ void ffPrintSound(FFSoundOptions* options)
}
}
bool ffParseSoundCommandOptions(FFSoundOptions* options, const char* key, const char* value)
{
const char* subKey = ffOptionTestPrefix(key, FF_SOUND_MODULE_NAME);
@@ -137,6 +136,30 @@ void ffParseSoundJsonObject(FFSoundOptions* options, yyjson_val* module)
}
}
void ffGenerateSoundJsonConfig(FFSoundOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroySoundOptions))) FFSoundOptions defaultOptions;
ffInitSoundOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
if (defaultOptions.soundType != options->soundType)
{
switch (options->soundType)
{
case FF_SOUND_TYPE_MAIN:
yyjson_mut_obj_add_str(doc, module, "soundType", "main");
break;
case FF_SOUND_TYPE_ACTIVE:
yyjson_mut_obj_add_str(doc, module, "soundType", "active");
break;
case FF_SOUND_TYPE_ALL:
yyjson_mut_obj_add_str(doc, module, "soundType", "all");
break;
}
}
}
void ffGenerateSoundJsonResult(FF_MAYBE_UNUSED FFSoundOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FF_LIST_AUTO_DESTROY result = ffListCreate(sizeof(FFSoundDevice));
@@ -197,7 +220,7 @@ void ffInitSoundOptions(FFSoundOptions* options)
ffPrintSound,
ffGenerateSoundJsonResult,
ffPrintSoundHelpFormat,
NULL
ffGenerateSoundJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
+9 -1
View File
@@ -100,6 +100,14 @@ void ffParseSwapJsonObject(FFSwapOptions* options, yyjson_val* module)
}
}
void ffGenerateSwapJsonConfig(FFSwapOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroySwapOptions))) FFSwapOptions defaultOptions;
ffInitSwapOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffGenerateSwapJsonResult(FF_MAYBE_UNUSED FFSwapOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FFSwapResult storage;
@@ -135,7 +143,7 @@ void ffInitSwapOptions(FFSwapOptions* options)
ffPrintSwap,
ffGenerateSwapJsonResult,
ffPrintSwapHelpFormat,
NULL
ffGenerateSwapJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+9 -1
View File
@@ -67,6 +67,14 @@ void ffParseTerminalJsonObject(FFTerminalOptions* options, yyjson_val* module)
}
}
void ffGenerateTerminalJsonConfig(FFTerminalOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyTerminalOptions))) FFTerminalOptions defaultOptions;
ffInitTerminalOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffGenerateTerminalJsonResult(FF_MAYBE_UNUSED FFTerminalOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
const FFTerminalShellResult* result = ffDetectTerminalShell();
@@ -108,7 +116,7 @@ void ffInitTerminalOptions(FFTerminalOptions* options)
ffPrintTerminal,
ffGenerateTerminalJsonResult,
ffPrintTerminalHelpFormat,
NULL
ffGenerateTerminalJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+9 -1
View File
@@ -74,6 +74,14 @@ void ffParseTerminalFontJsonObject(FFTerminalFontOptions* options, yyjson_val* m
}
}
void ffGenerateTerminalFontJsonConfig(FFTerminalFontOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyTerminalFontOptions))) FFTerminalFontOptions defaultOptions;
ffInitTerminalFontOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffGenerateTerminalFontJsonResult(FF_MAYBE_UNUSED FFTerminalOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FFTerminalFontResult result;
@@ -134,7 +142,7 @@ void ffInitTerminalFontOptions(FFTerminalFontOptions* options)
ffPrintTerminalFont,
ffGenerateTerminalFontJsonResult,
ffPrintTerminalFontHelpFormat,
NULL
ffGenerateTerminalFontJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+9 -1
View File
@@ -66,6 +66,14 @@ void ffParseTerminalSizeJsonObject(FFTerminalSizeOptions* options, yyjson_val* m
}
}
void ffGenerateTerminalSizeJsonConfig(FFTerminalSizeOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyTerminalSizeOptions))) FFTerminalSizeOptions defaultOptions;
ffInitTerminalSizeOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffGenerateTerminalSizeJsonResult(FF_MAYBE_UNUSED FFTerminalOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FFTerminalSizeResult result;
@@ -103,7 +111,7 @@ void ffInitTerminalSizeOptions(FFTerminalSizeOptions* options)
ffPrintTerminalSize,
ffGenerateTerminalSizeJsonResult,
ffPrintTerminalSizeHelpFormat,
NULL
ffGenerateTerminalSizeJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+9 -1
View File
@@ -57,6 +57,14 @@ void ffParseThemeJsonObject(FFThemeOptions* options, yyjson_val* module)
}
}
void ffGenerateThemeJsonConfig(FFThemeOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyThemeOptions))) FFThemeOptions defaultOptions;
ffInitThemeOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffGenerateThemeJsonResult(FF_MAYBE_UNUSED FFThemeOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FF_STRBUF_AUTO_DESTROY theme = ffStrbufCreate();
@@ -88,7 +96,7 @@ void ffInitThemeOptions(FFThemeOptions* options)
ffPrintTheme,
ffGenerateThemeJsonResult,
ffPrintThemeHelpFormat,
NULL
ffGenerateThemeJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+26 -1
View File
@@ -143,6 +143,31 @@ void ffParseTitleJsonObject(FFTitleOptions* options, yyjson_val* module)
}
}
void ffGenerateTitleJsonConfig(FFTitleOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyTitleOptions))) FFTitleOptions defaultOptions;
ffInitTitleOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
if (defaultOptions.fqdn != options->fqdn)
yyjson_mut_obj_add_bool(doc, module, "fqdn", options->fqdn);
yyjson_mut_val* color = yyjson_mut_obj(doc);
if (!ffStrbufEqual(&options->colorUser, &defaultOptions.colorUser))
yyjson_mut_obj_add_strbuf(doc, color, "user", &options->colorUser);
if (!ffStrbufEqual(&options->colorAt, &defaultOptions.colorAt))
yyjson_mut_obj_add_strbuf(doc, color, "at", &options->colorAt);
if (!ffStrbufEqual(&options->colorHost, &defaultOptions.colorHost))
yyjson_mut_obj_add_strbuf(doc, color, "host", &options->colorHost);
if (yyjson_mut_obj_size(color))
yyjson_mut_obj_add_val(doc, module, "color", color);
}
void ffGenerateTitleJsonResult(FF_MAYBE_UNUSED FFTitleOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
yyjson_mut_val* obj = yyjson_mut_obj_add_obj(doc, module, "result");
@@ -177,7 +202,7 @@ void ffInitTitleOptions(FFTitleOptions* options)
ffPrintTitle,
ffGenerateTitleJsonResult,
ffPrintTitleHelpFormat,
NULL
ffGenerateTitleJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
ffStrbufSetStatic(&options->moduleArgs.key, " ");
+9 -1
View File
@@ -116,6 +116,14 @@ void ffParseUptimeJsonObject(FFUptimeOptions* options, yyjson_val* module)
}
}
void ffGenerateUptimeJsonConfig(FFUptimeOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyUptimeOptions))) FFUptimeOptions defaultOptions;
ffInitUptimeOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffGenerateUptimeJsonResult(FF_MAYBE_UNUSED FFUptimeOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FFUptimeResult result;
@@ -152,7 +160,7 @@ void ffInitUptimeOptions(FFUptimeOptions* options)
ffPrintUptime,
ffGenerateUptimeJsonResult,
ffPrintUptimeHelpFormat,
NULL
ffGenerateUptimeJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+12 -1
View File
@@ -130,6 +130,17 @@ void ffParseUsersJsonObject(FFUsersOptions* options, yyjson_val* module)
}
}
void ffGenerateUsersJsonConfig(FFUsersOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyUsersOptions))) FFUsersOptions defaultOptions;
ffInitUsersOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
if (options->compact != defaultOptions.compact)
yyjson_mut_obj_add_bool(doc, module, "compact", options->compact);
}
void ffGenerateUsersJsonResult(FF_MAYBE_UNUSED FFUsersOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FF_LIST_AUTO_DESTROY results = ffListCreate(sizeof(FFUserResult));
@@ -184,7 +195,7 @@ void ffInitUsersOptions(FFUsersOptions* options)
ffPrintUsers,
ffGenerateUsersJsonResult,
ffPrintUsersHelpFormat,
NULL
ffGenerateUsersJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
+9 -1
View File
@@ -72,6 +72,14 @@ void ffParseVersionJsonObject(FFVersionOptions* options, yyjson_val* module)
}
}
void ffGenerateVersionJsonConfig(FFVersionOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyVersionOptions))) FFVersionOptions defaultOptions;
ffInitVersionOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffGenerateVersionJsonResult(FF_MAYBE_UNUSED FFVersionOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FFVersionResult result;
@@ -129,7 +137,7 @@ void ffInitVersionOptions(FFVersionOptions* options)
ffPrintVersion,
ffGenerateVersionJsonResult,
ffPrintVersionHelpFormat,
NULL
ffGenerateVersionJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+9 -1
View File
@@ -71,6 +71,14 @@ void ffParseVulkanJsonObject(FFVulkanOptions* options, yyjson_val* module)
}
}
void ffGenerateVulkanJsonConfig(FFVulkanOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyVulkanOptions))) FFVulkanOptions defaultOptions;
ffInitVulkanOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffGenerateVulkanJsonResult(FF_MAYBE_UNUSED FFVulkanOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
const FFVulkanResult* result = ffDetectVulkan();
@@ -145,7 +153,7 @@ void ffInitVulkanOptions(FFVulkanOptions* options)
ffPrintVulkan,
ffGenerateVulkanJsonResult,
ffPrintVulkanHelpFormat,
NULL
ffGenerateVulkanJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+9 -1
View File
@@ -69,6 +69,14 @@ void ffParseWallpaperJsonObject(FFWallpaperOptions* options, yyjson_val* module)
}
}
void ffGenerateWallpaperJsonConfig(FFWallpaperOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyWallpaperOptions))) FFWallpaperOptions defaultOptions;
ffInitWallpaperOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffGenerateWallpaperJsonResult(FF_MAYBE_UNUSED FFWallpaperOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FF_STRBUF_AUTO_DESTROY fullpath = ffStrbufCreate();
@@ -98,7 +106,7 @@ void ffInitWallpaperOptions(FFWallpaperOptions* options)
ffPrintWallpaper,
ffGenerateWallpaperJsonResult,
ffPrintWallpaperHelpFormat,
NULL
ffGenerateWallpaperJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+18 -1
View File
@@ -94,6 +94,23 @@ void ffParseWeatherJsonObject(FFWeatherOptions* options, yyjson_val* module)
}
}
void ffGenerateWeatherJsonConfig(FFWeatherOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyWeatherOptions))) FFWeatherOptions defaultOptions;
ffInitWeatherOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
if (!ffStrbufEqual(&options->location, &defaultOptions.location))
yyjson_mut_obj_add_strbuf(doc, module, "location", &options->location);
if (!ffStrbufEqual(&options->outputFormat, &defaultOptions.outputFormat))
yyjson_mut_obj_add_strbuf(doc, module, "outputFormat", &options->outputFormat);
if (options->timeout != defaultOptions.timeout)
yyjson_mut_obj_add_uint(doc, module, "timeout", options->timeout);
}
void ffGenerateWeatherJsonResult(FFWeatherOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FF_STRBUF_AUTO_DESTROY result = ffStrbufCreate();
@@ -125,7 +142,7 @@ void ffInitWeatherOptions(FFWeatherOptions* options)
ffPrintWeather,
ffGenerateWeatherJsonResult,
ffPrintWeatherHelpFormat,
NULL
ffGenerateWeatherJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
+9 -1
View File
@@ -97,6 +97,14 @@ void ffParseWifiJsonObject(FFWifiOptions* options, yyjson_val* module)
}
}
void ffGenerateWifiJsonConfig(FFWifiOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyWifiOptions))) FFWifiOptions defaultOptions;
ffInitWifiOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffGenerateWifiJsonResult(FF_MAYBE_UNUSED FFWifiOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FF_LIST_AUTO_DESTROY result = ffListCreate(sizeof(FFWifiResult));
@@ -169,7 +177,7 @@ void ffInitWifiOptions(FFWifiOptions* options)
ffPrintWifi,
ffGenerateWifiJsonResult,
ffPrintWifiHelpFormat,
NULL
ffGenerateWifiJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+9 -1
View File
@@ -68,6 +68,14 @@ void ffParseWMJsonObject(FFWMOptions* options, yyjson_val* module)
}
}
void ffGenerateWMJsonConfig(FFWMOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyWMOptions))) FFWMOptions defaultOptions;
ffInitWMOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffGenerateWMJsonResult(FF_MAYBE_UNUSED FFWMOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
const FFDisplayServerResult* result = ffConnectDisplayServer();
@@ -102,7 +110,7 @@ void ffInitWMOptions(FFWMOptions* options)
ffPrintWM,
ffGenerateWMJsonResult,
ffPrintWMHelpFormat,
NULL
ffGenerateWMJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}
+9 -1
View File
@@ -57,6 +57,14 @@ void ffParseWMThemeJsonObject(FFWMThemeOptions* options, yyjson_val* module)
}
}
void ffGenerateWMThemeJsonConfig(FFWMThemeOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
__attribute__((__cleanup__(ffDestroyWMThemeOptions))) FFWMThemeOptions defaultOptions;
ffInitWMThemeOptions(&defaultOptions);
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
}
void ffGenerateWMThemeJsonResult(FF_MAYBE_UNUSED FFWMThemeOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
{
FF_STRBUF_AUTO_DESTROY themeOrError = ffStrbufCreate();
@@ -86,7 +94,7 @@ void ffInitWMThemeOptions(FFWMThemeOptions* options)
ffPrintWMTheme,
ffGenerateWMThemeJsonResult,
ffPrintWMthemeHelpFormat,
NULL
ffGenerateWMThemeJsonConfig
);
ffOptionInitModuleArg(&options->moduleArgs);
}