mirror of
https://github.com/fastfetch-cli/fastfetch.git
synced 2026-09-13 02:14:37 +02:00
Global: init support for JSON config file migration (WIP)
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
#include "commandoption.h"
|
||||
#include "common/printing.h"
|
||||
#include "common/time.h"
|
||||
#include "common/jsonconfig.h"
|
||||
#include "fastfetch_datatext.h"
|
||||
#include "modules/modules.h"
|
||||
#include "util/stringUtils.h"
|
||||
@@ -8,7 +9,27 @@
|
||||
#include <ctype.h>
|
||||
#include <inttypes.h>
|
||||
|
||||
static inline yyjson_mut_val* genJson(FFModuleBaseInfo* baseInfo)
|
||||
static inline yyjson_mut_val* genJsonConfig(FFModuleBaseInfo* baseInfo)
|
||||
{
|
||||
yyjson_mut_doc* doc = instance.state.migrateConfigDoc;
|
||||
if (__builtin_expect(!doc, true)) return NULL;
|
||||
|
||||
yyjson_mut_val* modules = yyjson_mut_obj_get(doc->root, "modules");
|
||||
if (!modules)
|
||||
modules = yyjson_mut_obj_add_arr(doc, doc->root, "modules");
|
||||
|
||||
yyjson_mut_val* module = yyjson_mut_arr_add_obj(doc, modules);
|
||||
FF_STRBUF_AUTO_DESTROY type = ffStrbufCreateS(baseInfo->name);
|
||||
ffStrbufLowerCase(&type);
|
||||
yyjson_mut_obj_add_strbuf(doc, module, "type", &type);
|
||||
|
||||
if (baseInfo->generateJsonConfig)
|
||||
baseInfo->generateJsonConfig(baseInfo, doc, module);
|
||||
|
||||
return module;
|
||||
}
|
||||
|
||||
static inline yyjson_mut_val* genJsonResult(FFModuleBaseInfo* baseInfo)
|
||||
{
|
||||
yyjson_mut_doc* doc = instance.state.resultDoc;
|
||||
if (__builtin_expect(!doc, true)) return NULL;
|
||||
@@ -31,7 +52,7 @@ bool ffParseModuleCommand(const char* type)
|
||||
FFModuleBaseInfo* baseInfo = *modules;
|
||||
if (ffStrEqualsIgnCase(type, baseInfo->name))
|
||||
{
|
||||
if (!genJson(baseInfo))
|
||||
if (!genJsonConfig(baseInfo) && !genJsonResult(baseInfo))
|
||||
baseInfo->printModule(baseInfo);
|
||||
return true;
|
||||
}
|
||||
@@ -88,7 +109,7 @@ static void parseStructureCommand(const char* line, FFlist* customValues)
|
||||
if (customValue->printKey)
|
||||
ffStrbufAppend(&options.moduleArgs.key, &customValue->key);
|
||||
ffStrbufAppend(&options.moduleArgs.outputFormat, &customValue->value);
|
||||
ffPrintCustom(&options);
|
||||
if (!genJsonConfig((FFModuleBaseInfo*) &options)) ffPrintCustom(&options);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -135,9 +156,19 @@ void ffPrintCommandOption(FFdata* data)
|
||||
}
|
||||
|
||||
#if defined(_WIN32)
|
||||
if (!instance.config.noBuffer) fflush(stdout);
|
||||
if (!resultDoc && !instance.config.noBuffer) fflush(stdout);
|
||||
#endif
|
||||
|
||||
startIndex = colonIndex + 1;
|
||||
}
|
||||
}
|
||||
|
||||
void ffMigrateCommandOptionToJsonc(FFdata* data)
|
||||
{
|
||||
//If we don't have a custom structure, use the default one
|
||||
if(data->structure.length == 0)
|
||||
ffStrbufAppendS(&data->structure, FASTFETCH_DATATEXT_STRUCTURE);
|
||||
instance.config.stat = false;
|
||||
ffPrintCommandOption(data);
|
||||
yyjson_mut_write_fp(stdout, instance.state.migrateConfigDoc, YYJSON_WRITE_INF_AND_NAN_AS_NULL | YYJSON_WRITE_PRETTY_TWO_SPACES, NULL, NULL);
|
||||
}
|
||||
|
||||
@@ -24,5 +24,6 @@ bool ffParseModuleCommand(const char* type);
|
||||
bool ffParseModuleOptions(const char* key, const char* value);
|
||||
void ffPrepareCommandOption(FFdata* data);
|
||||
void ffPrintCommandOption(FFdata* data);
|
||||
void ffMigrateCommandOptionToJsonc(FFdata* data);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -381,6 +381,7 @@ static void destroyState(void)
|
||||
ffPlatformDestroy(&instance.state.platform);
|
||||
yyjson_doc_free(instance.state.configDoc);
|
||||
yyjson_mut_doc_free(instance.state.resultDoc);
|
||||
yyjson_mut_doc_free(instance.state.migrateConfigDoc);
|
||||
}
|
||||
|
||||
void ffDestroyInstance(void)
|
||||
|
||||
@@ -35,6 +35,18 @@ bool ffJsonConfigParseModuleArgs(const char* key, yyjson_val* val, FFModuleArgs*
|
||||
return false;
|
||||
}
|
||||
|
||||
void ffJsonConfigGenerateModuleArgsConfig(yyjson_mut_doc* doc, yyjson_mut_val* module, FFModuleArgs* defaultModuleArgs, FFModuleArgs* moduleArgs)
|
||||
{
|
||||
if (!ffStrbufEqual(&defaultModuleArgs->key, &moduleArgs->key))
|
||||
yyjson_mut_obj_add_strbuf(doc, module, "key", &moduleArgs->key);
|
||||
if (!ffStrbufEqual(&defaultModuleArgs->outputFormat, &moduleArgs->outputFormat))
|
||||
yyjson_mut_obj_add_strbuf(doc, module, "format", &moduleArgs->outputFormat);
|
||||
if (!ffStrbufEqual(&defaultModuleArgs->keyColor, &moduleArgs->keyColor))
|
||||
yyjson_mut_obj_add_strbuf(doc, module, "keyColor", &moduleArgs->keyColor);
|
||||
if (moduleArgs->keyWidth != defaultModuleArgs->keyWidth)
|
||||
yyjson_mut_obj_add_uint(doc, module, "keyWidth", moduleArgs->keyWidth);
|
||||
}
|
||||
|
||||
const char* ffJsonConfigParseEnum(yyjson_val* val, int* result, FFKeyValuePair pairs[])
|
||||
{
|
||||
if (yyjson_is_int(val))
|
||||
|
||||
@@ -8,6 +8,7 @@ void ffPrintJsonConfig(bool prepare);
|
||||
const char* ffParseGeneralJsonConfig(void);
|
||||
const char* ffParseDisplayJsonConfig(void);
|
||||
const char* ffParseLibraryJsonConfig(void);
|
||||
void ffJsonConfigGenerateModuleArgsConfig(yyjson_mut_doc* doc, yyjson_mut_val* module, FFModuleArgs* defaultModuleArgs, FFModuleArgs* moduleArgs);
|
||||
|
||||
yyjson_api_inline bool yyjson_mut_obj_add_strbuf(yyjson_mut_doc *doc,
|
||||
yyjson_mut_val *obj,
|
||||
|
||||
+4
-1
@@ -19,6 +19,7 @@ typedef struct FFModuleBaseInfo
|
||||
void (*printModule)(void* options);
|
||||
void (*generateJsonResult)(void* options, struct yyjson_mut_doc* doc, struct yyjson_mut_val* module);
|
||||
void (*printHelpFormat)(void);
|
||||
void (*generateJsonConfig)(void* options, struct yyjson_mut_doc* doc, struct yyjson_mut_val* obj);
|
||||
} FFModuleBaseInfo;
|
||||
|
||||
static inline void ffOptionInitModuleBaseInfo(
|
||||
@@ -28,7 +29,8 @@ static inline void ffOptionInitModuleBaseInfo(
|
||||
void* parseJsonObject, // void (*const parseJsonObject)(void* options, yyjson_val *module)
|
||||
void* printModule, // void (*const printModule)(void* options)
|
||||
void* generateJsonResult, // void (*const generateJsonResult)(void* options, yyjson_mut_doc* doc, yyjson_mut_val* obj)
|
||||
void (*printHelpFormat)(void)
|
||||
void (*printHelpFormat)(void),
|
||||
void* generateJsonConfig // void (*const generateJsonConfig)(void* options, yyjson_mut_doc* doc, yyjson_mut_val* obj)
|
||||
)
|
||||
{
|
||||
baseInfo->name = name;
|
||||
@@ -37,6 +39,7 @@ static inline void ffOptionInitModuleBaseInfo(
|
||||
baseInfo->printModule = (__typeof__(baseInfo->printModule)) printModule;
|
||||
baseInfo->generateJsonResult = (__typeof__(baseInfo->generateJsonResult)) generateJsonResult;
|
||||
baseInfo->printHelpFormat = printHelpFormat;
|
||||
baseInfo->generateJsonConfig = (__typeof__(baseInfo->generateJsonConfig)) generateJsonConfig;
|
||||
}
|
||||
|
||||
typedef struct FFModuleArgs
|
||||
|
||||
+59
-30
@@ -481,6 +481,26 @@ static void parseOption(FFdata* data, const char* key, const char* value)
|
||||
generateConfigFile(false, value);
|
||||
else if(ffStrEqualsIgnCase(key, "--gen-config-force"))
|
||||
generateConfigFile(true, value);
|
||||
else if (ffStrEqualsIgnCase(key, "--migrate-config"))
|
||||
{
|
||||
yyjson_mut_doc_free(instance.state.migrateConfigDoc);
|
||||
|
||||
if (ffOptionParseBoolean(value))
|
||||
{
|
||||
if (instance.state.configDoc)
|
||||
{
|
||||
fputs("Error: existing jsonc config file detected. Exiting\n", stderr);
|
||||
exit(477);
|
||||
}
|
||||
|
||||
yyjson_mut_doc* doc = instance.state.migrateConfigDoc = yyjson_mut_doc_new(NULL);
|
||||
yyjson_mut_val* root = yyjson_mut_obj(doc);
|
||||
yyjson_mut_doc_set_root(doc, root);
|
||||
yyjson_mut_obj_add_str(doc, root, "$schema", "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json");
|
||||
}
|
||||
else
|
||||
instance.state.migrateConfigDoc = NULL;
|
||||
}
|
||||
else if(ffStrEqualsIgnCase(key, "--thread") || ffStrEqualsIgnCase(key, "--multithreading"))
|
||||
instance.config.multithreading = ffOptionParseBoolean(value);
|
||||
else if(ffStrEqualsIgnCase(key, "--stat"))
|
||||
@@ -719,20 +739,22 @@ error:
|
||||
|
||||
static void parseConfigFiles(FFdata* data)
|
||||
{
|
||||
for(uint32_t i = instance.state.platform.configDirs.length; i > 0; --i)
|
||||
if (__builtin_expect(!instance.state.migrateConfigDoc, true))
|
||||
{
|
||||
FFstrbuf* dir = ffListGet(&instance.state.platform.configDirs, i - 1);
|
||||
uint32_t dirLength = dir->length;
|
||||
for (uint32_t i = instance.state.platform.configDirs.length; i > 0; --i)
|
||||
{
|
||||
FFstrbuf* dir = ffListGet(&instance.state.platform.configDirs, i - 1);
|
||||
uint32_t dirLength = dir->length;
|
||||
|
||||
ffStrbufAppendS(dir, "fastfetch/config.jsonc");
|
||||
bool success = parseJsoncFile(dir->chars);
|
||||
ffStrbufSubstrBefore(dir, dirLength);
|
||||
if (success) return;
|
||||
ffStrbufAppendS(dir, "fastfetch/config.jsonc");
|
||||
bool success = parseJsoncFile(dir->chars);
|
||||
ffStrbufSubstrBefore(dir, dirLength);
|
||||
if (success) return;
|
||||
}
|
||||
}
|
||||
|
||||
for(uint32_t i = instance.state.platform.configDirs.length; i > 0; --i)
|
||||
for (uint32_t i = instance.state.platform.configDirs.length; i > 0; --i)
|
||||
{
|
||||
if(!data->loadUserConfig)
|
||||
if (!data->loadUserConfig)
|
||||
return;
|
||||
|
||||
FFstrbuf* dir = ffListGet(&instance.state.platform.configDirs, i - 1);
|
||||
@@ -773,20 +795,8 @@ static void parseArguments(FFdata* data, int argc, const char** argv)
|
||||
}
|
||||
}
|
||||
|
||||
int main(int argc, const char** argv)
|
||||
static void ffRun(FFdata* data)
|
||||
{
|
||||
ffInitInstance();
|
||||
|
||||
//Data stores things only needed for the configuration of fastfetch
|
||||
FFdata data;
|
||||
ffStrbufInit(&data.structure);
|
||||
ffListInit(&data.customValues, sizeof(FFCustomValue));
|
||||
data.loadUserConfig = true;
|
||||
|
||||
if(!getenv("NO_CONFIG"))
|
||||
parseConfigFiles(&data);
|
||||
parseArguments(&data, argc, argv);
|
||||
|
||||
if (instance.state.configDoc)
|
||||
{
|
||||
const char* error = NULL;
|
||||
@@ -803,12 +813,12 @@ int main(int argc, const char** argv)
|
||||
}
|
||||
}
|
||||
|
||||
const bool useJsonConfig = data.structure.length == 0 && instance.state.configDoc;
|
||||
const bool useJsonConfig = data->structure.length == 0 && instance.state.configDoc;
|
||||
|
||||
if(useJsonConfig)
|
||||
if (useJsonConfig)
|
||||
ffPrintJsonConfig(true /* prepare */);
|
||||
else
|
||||
ffPrepareCommandOption(&data);
|
||||
ffPrepareCommandOption(data);
|
||||
|
||||
ffStart();
|
||||
|
||||
@@ -819,14 +829,33 @@ int main(int argc, const char** argv)
|
||||
if (useJsonConfig)
|
||||
ffPrintJsonConfig(false);
|
||||
else
|
||||
ffPrintCommandOption(&data);
|
||||
ffPrintCommandOption(data);
|
||||
|
||||
if (instance.state.resultDoc)
|
||||
{
|
||||
yyjson_mut_write_fp(stdout, instance.state.resultDoc, YYJSON_WRITE_INF_AND_NAN_AS_NULL | YYJSON_WRITE_PRETTY_TWO_SPACES, NULL, NULL);
|
||||
}
|
||||
else
|
||||
ffFinish();
|
||||
}
|
||||
|
||||
ffFinish();
|
||||
int main(int argc, const char** argv)
|
||||
{
|
||||
ffInitInstance();
|
||||
|
||||
//Data stores things only needed for the configuration of fastfetch
|
||||
FFdata data = {
|
||||
.structure = ffStrbufCreate(),
|
||||
.customValues = ffListCreate(sizeof(FFCustomValue)),
|
||||
.loadUserConfig = true,
|
||||
};
|
||||
|
||||
if(!getenv("NO_CONFIG"))
|
||||
parseConfigFiles(&data);
|
||||
parseArguments(&data, argc, argv);
|
||||
|
||||
if (__builtin_expect(!instance.state.migrateConfigDoc, true))
|
||||
ffRun(&data);
|
||||
else
|
||||
ffMigrateCommandOptionToJsonc(&data); // Migrate
|
||||
|
||||
ffStrbufDestroy(&data.structure);
|
||||
FF_LIST_FOR_EACH(FFCustomValue, customValue, data.customValues)
|
||||
|
||||
@@ -176,6 +176,7 @@ typedef struct FFstate
|
||||
FFPlatform platform;
|
||||
yyjson_doc* configDoc;
|
||||
yyjson_mut_doc* resultDoc;
|
||||
yyjson_mut_doc* migrateConfigDoc;
|
||||
} FFstate;
|
||||
|
||||
typedef struct FFinstance
|
||||
|
||||
@@ -156,6 +156,22 @@ void ffParseBatteryJsonObject(FFBatteryOptions* options, yyjson_val* module)
|
||||
}
|
||||
}
|
||||
|
||||
void ffGenerateBatteryJsonConfig(FFBatteryOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
|
||||
{
|
||||
__attribute__((__cleanup__(ffDestroyBatteryOptions))) FFBatteryOptions defaultOptions;
|
||||
ffInitBatteryOptions(&defaultOptions);
|
||||
|
||||
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
|
||||
|
||||
#ifdef __linux__
|
||||
if (!ffStrbufEquals(&defaultOptions.dir, &options->dir))
|
||||
yyjson_mut_obj_add_strbuf(doc, module, "dir", &options->dir);
|
||||
#endif
|
||||
|
||||
if (options->temp != defaultOptions.temp)
|
||||
yyjson_mut_obj_add_bool(doc, module, "temp", options->temp);
|
||||
}
|
||||
|
||||
void ffGenerateBatteryJsonResult(FFBatteryOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
|
||||
{
|
||||
FF_LIST_AUTO_DESTROY results = ffListCreate(sizeof(FFBatteryResult));
|
||||
@@ -202,7 +218,16 @@ void ffPrintBatteryHelpFormat(void)
|
||||
|
||||
void ffInitBatteryOptions(FFBatteryOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_BATTERY_MODULE_NAME, ffParseBatteryCommandOptions, ffParseBatteryJsonObject, ffPrintBattery, ffGenerateBatteryJsonResult, ffPrintBatteryHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_BATTERY_MODULE_NAME,
|
||||
ffParseBatteryCommandOptions,
|
||||
ffParseBatteryJsonObject,
|
||||
ffPrintBattery,
|
||||
ffGenerateBatteryJsonResult,
|
||||
ffPrintBatteryHelpFormat,
|
||||
ffGenerateBatteryJsonConfig
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
options->temp = false;
|
||||
|
||||
|
||||
+18
-1
@@ -80,6 +80,14 @@ void ffParseBiosJsonObject(FFBiosOptions* options, yyjson_val* module)
|
||||
}
|
||||
}
|
||||
|
||||
void ffGenerateBiosJsonConfig(FFBiosOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
|
||||
{
|
||||
__attribute__((__cleanup__(ffDestroyBiosOptions))) FFBiosOptions defaultOptions;
|
||||
ffInitBiosOptions(&defaultOptions);
|
||||
|
||||
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
|
||||
}
|
||||
|
||||
void ffGenerateBiosJsonResult(FF_MAYBE_UNUSED FFBiosOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
|
||||
{
|
||||
FFBiosResult bios;
|
||||
@@ -127,7 +135,16 @@ void ffPrintBiosHelpFormat(void)
|
||||
|
||||
void ffInitBiosOptions(FFBiosOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_BIOS_MODULE_NAME, ffParseBiosCommandOptions, ffParseBiosJsonObject, ffPrintBios, ffGenerateBiosJsonResult, ffPrintBiosHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_BIOS_MODULE_NAME,
|
||||
ffParseBiosCommandOptions,
|
||||
ffParseBiosJsonObject,
|
||||
ffPrintBios,
|
||||
ffGenerateBiosJsonResult,
|
||||
ffPrintBiosHelpFormat,
|
||||
ffGenerateBiosJsonConfig
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
@@ -157,7 +157,16 @@ void ffPrintBluetoothHelpFormat(void)
|
||||
|
||||
void ffInitBluetoothOptions(FFBluetoothOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_BLUETOOTH_MODULE_NAME, ffParseBluetoothCommandOptions, ffParseBluetoothJsonObject, ffPrintBluetooth, ffGenerateBluetoothJsonResult, ffPrintBluetoothHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_BLUETOOTH_MODULE_NAME,
|
||||
ffParseBluetoothCommandOptions,
|
||||
ffParseBluetoothJsonObject,
|
||||
ffPrintBluetooth,
|
||||
ffGenerateBluetoothJsonResult,
|
||||
ffPrintBluetoothHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
options->showDisconnected = false;
|
||||
}
|
||||
|
||||
@@ -119,7 +119,16 @@ void ffPrintBoardHelpFormat(void)
|
||||
|
||||
void ffInitBoardOptions(FFBoardOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_BOARD_MODULE_NAME, ffParseBoardCommandOptions, ffParseBoardJsonObject, ffPrintBoard, ffGenerateBoardJsonResult, ffPrintBoardHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_BOARD_MODULE_NAME,
|
||||
ffParseBoardCommandOptions,
|
||||
ffParseBoardJsonObject,
|
||||
ffPrintBoard,
|
||||
ffGenerateBoardJsonResult,
|
||||
ffPrintBoardHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,16 @@ void ffParseBreakJsonObject(FF_MAYBE_UNUSED FFBreakOptions* options, FF_MAYBE_UN
|
||||
|
||||
void ffInitBreakOptions(FF_MAYBE_UNUSED FFBreakOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_BREAK_MODULE_NAME, ffParseBreakCommandOptions, ffParseBreakJsonObject, ffPrintBreak, NULL, NULL);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_BREAK_MODULE_NAME,
|
||||
ffParseBreakCommandOptions,
|
||||
ffParseBreakJsonObject,
|
||||
ffPrintBreak,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL
|
||||
);
|
||||
}
|
||||
|
||||
void ffDestroyBreakOptions(FF_MAYBE_UNUSED FFBreakOptions* options)
|
||||
|
||||
@@ -172,7 +172,16 @@ void ffPrintBrightnessHelpFormat(void)
|
||||
|
||||
void ffInitBrightnessOptions(FFBrightnessOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_BRIGHTNESS_MODULE_NAME, ffParseBrightnessCommandOptions, ffParseBrightnessJsonObject, ffPrintBrightness, ffGenerateBrightnessJsonResult, ffPrintBrightnessHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_BRIGHTNESS_MODULE_NAME,
|
||||
ffParseBrightnessCommandOptions,
|
||||
ffParseBrightnessJsonObject,
|
||||
ffPrintBrightness,
|
||||
ffGenerateBrightnessJsonResult,
|
||||
ffPrintBrightnessHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
|
||||
options->ddcciSleep = 10;
|
||||
|
||||
@@ -120,7 +120,16 @@ void ffPrintChassisHelpFormat(void)
|
||||
|
||||
void ffInitChassisOptions(FFChassisOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_CHASSIS_MODULE_NAME, ffParseChassisCommandOptions, ffParseChassisJsonObject, ffPrintChassis, ffGenerateChassisJsonResult, ffPrintChassisHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_CHASSIS_MODULE_NAME,
|
||||
ffParseChassisCommandOptions,
|
||||
ffParseChassisJsonObject,
|
||||
ffPrintChassis,
|
||||
ffGenerateChassisJsonResult,
|
||||
ffPrintChassisHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
@@ -129,7 +129,16 @@ void ffParseColorsJsonObject(FFColorsOptions* options, yyjson_val* module)
|
||||
|
||||
void ffInitColorsOptions(FFColorsOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_COLORS_MODULE_NAME, ffParseColorsCommandOptions, ffParseColorsJsonObject, ffPrintColors, NULL, NULL);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_COLORS_MODULE_NAME,
|
||||
ffParseColorsCommandOptions,
|
||||
ffParseColorsJsonObject,
|
||||
ffPrintColors,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
ffStrbufSetStatic(&options->moduleArgs.key, " ");
|
||||
options->symbol = FF_COLORS_SYMBOL_BLOCK;
|
||||
|
||||
@@ -134,7 +134,16 @@ void ffPrintCommandHelpFormat(void)
|
||||
|
||||
void ffInitCommandOptions(FFCommandOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_COMMAND_MODULE_NAME, ffParseCommandCommandOptions, ffParseCommandJsonObject, ffPrintCommand, ffGenerateCommandJsonResult, ffPrintCommandHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_COMMAND_MODULE_NAME,
|
||||
ffParseCommandCommandOptions,
|
||||
ffParseCommandJsonObject,
|
||||
ffPrintCommand,
|
||||
ffGenerateCommandJsonResult,
|
||||
ffPrintCommandHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
|
||||
ffStrbufInitStatic(&options->shell,
|
||||
|
||||
+10
-1
@@ -185,7 +185,16 @@ void ffPrintCPUHelpFormat(void)
|
||||
|
||||
void ffInitCPUOptions(FFCPUOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_CPU_MODULE_NAME, ffParseCPUCommandOptions, ffParseCPUJsonObject, ffPrintCPU, ffGenerateCPUJsonResult, ffPrintCPUHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_CPU_MODULE_NAME,
|
||||
ffParseCPUCommandOptions,
|
||||
ffParseCPUJsonObject,
|
||||
ffPrintCPU,
|
||||
ffGenerateCPUJsonResult,
|
||||
ffPrintCPUHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
options->temp = false;
|
||||
options->freqNdigits = 2;
|
||||
|
||||
@@ -154,7 +154,16 @@ void ffPrintCPUUsageHelpFormat(void)
|
||||
|
||||
void ffInitCPUUsageOptions(FFCPUUsageOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_CPUUSAGE_MODULE_NAME, ffParseCPUUsageCommandOptions, ffParseCPUUsageJsonObject, ffPrintCPUUsage, ffGenerateCPUUsageJsonResult, ffPrintCPUUsageHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_CPUUSAGE_MODULE_NAME,
|
||||
ffParseCPUUsageCommandOptions,
|
||||
ffParseCPUUsageJsonObject,
|
||||
ffPrintCPUUsage,
|
||||
ffGenerateCPUUsageJsonResult,
|
||||
ffPrintCPUUsageHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
@@ -111,7 +111,16 @@ void ffPrintCursorHelpFormat(void)
|
||||
|
||||
void ffInitCursorOptions(FFCursorOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_CURSOR_MODULE_NAME, ffParseCursorCommandOptions, ffParseCursorJsonObject, ffPrintCursor, ffGenerateCursorJsonResult, ffPrintCursorHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_CURSOR_MODULE_NAME,
|
||||
ffParseCursorCommandOptions,
|
||||
ffParseCursorJsonObject,
|
||||
ffPrintCursor,
|
||||
ffGenerateCursorJsonResult,
|
||||
ffPrintCursorHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
@@ -27,6 +27,14 @@ bool ffParseCustomCommandOptions(FFCustomOptions* options, const char* key, cons
|
||||
return false;
|
||||
}
|
||||
|
||||
void ffGenerateCustomJsonConfig(FFCustomOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
|
||||
{
|
||||
__attribute__((__cleanup__(ffDestroyCustomOptions))) FFCustomOptions defaultOptions;
|
||||
ffInitCustomOptions(&defaultOptions);
|
||||
|
||||
ffJsonConfigGenerateModuleArgsConfig(doc, module, &defaultOptions.moduleArgs, &options->moduleArgs);
|
||||
}
|
||||
|
||||
void ffParseCustomJsonObject(FFCustomOptions* options, yyjson_val* module)
|
||||
{
|
||||
yyjson_val *key_, *val;
|
||||
@@ -46,7 +54,16 @@ void ffParseCustomJsonObject(FFCustomOptions* options, yyjson_val* module)
|
||||
|
||||
void ffInitCustomOptions(FFCustomOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_CUSTOM_MODULE_NAME, ffParseCustomCommandOptions, ffParseCustomJsonObject, ffPrintCustom, NULL, NULL);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_CUSTOM_MODULE_NAME,
|
||||
ffParseCustomCommandOptions,
|
||||
ffParseCustomJsonObject,
|
||||
ffPrintCustom,
|
||||
NULL,
|
||||
NULL,
|
||||
ffGenerateCustomJsonConfig
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
ffStrbufSetStatic(&options->moduleArgs.key, " ");
|
||||
}
|
||||
|
||||
@@ -201,7 +201,16 @@ void ffPrintDateTimeHelpFormat(void)
|
||||
|
||||
void ffInitDateTimeOptions(FFDateTimeOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_DATETIME_MODULE_NAME, ffParseDateTimeCommandOptions, ffParseDateTimeJsonObject, ffPrintDateTime, ffGenerateDateTimeJsonResult, ffPrintDateTimeHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_DATETIME_MODULE_NAME,
|
||||
ffParseDateTimeCommandOptions,
|
||||
ffParseDateTimeJsonObject,
|
||||
ffPrintDateTime,
|
||||
ffGenerateDateTimeJsonResult,
|
||||
ffPrintDateTimeHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
+10
-1
@@ -94,7 +94,16 @@ void ffPrintDEHelpFormat(void)
|
||||
|
||||
void ffInitDEOptions(FFDEOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_DE_MODULE_NAME, ffParseDECommandOptions, ffParseDEJsonObject, ffPrintDE, ffGenerateDEJsonResult, ffPrintDEHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_DE_MODULE_NAME,
|
||||
ffParseDECommandOptions,
|
||||
ffParseDEJsonObject,
|
||||
ffPrintDE,
|
||||
ffGenerateDEJsonResult,
|
||||
ffPrintDEHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
+10
-1
@@ -428,7 +428,16 @@ void ffPrintDiskHelpFormat(void)
|
||||
|
||||
void ffInitDiskOptions(FFDiskOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_DISK_MODULE_NAME, ffParseDiskCommandOptions, ffParseDiskJsonObject, ffPrintDisk, ffGenerateDiskJsonResult, ffPrintDiskHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_DISK_MODULE_NAME,
|
||||
ffParseDiskCommandOptions,
|
||||
ffParseDiskJsonObject,
|
||||
ffPrintDisk,
|
||||
ffGenerateDiskJsonResult,
|
||||
ffPrintDiskHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
|
||||
ffStrbufInit(&options->folders);
|
||||
|
||||
@@ -215,7 +215,16 @@ void ffPrintDiskIOHelpFormat(void)
|
||||
|
||||
void ffInitDiskIOOptions(FFDiskIOOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_DISKIO_MODULE_NAME, ffParseDiskIOCommandOptions, ffParseDiskIOJsonObject, ffPrintDiskIO, ffGenerateDiskIOJsonResult, ffPrintDiskIOHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_DISKIO_MODULE_NAME,
|
||||
ffParseDiskIOCommandOptions,
|
||||
ffParseDiskIOJsonObject,
|
||||
ffPrintDiskIO,
|
||||
ffGenerateDiskIOJsonResult,
|
||||
ffPrintDiskIOHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
|
||||
ffStrbufInit(&options->namePrefix);
|
||||
|
||||
@@ -228,7 +228,16 @@ void ffPrintDisplayHelpFormat(void)
|
||||
|
||||
void ffInitDisplayOptions(FFDisplayOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_DISPLAY_MODULE_NAME, ffParseDisplayCommandOptions, ffParseDisplayJsonObject, ffPrintDisplay, ffGenerateDisplayJsonResult, ffPrintDisplayHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_DISPLAY_MODULE_NAME,
|
||||
ffParseDisplayCommandOptions,
|
||||
ffParseDisplayJsonObject,
|
||||
ffPrintDisplay,
|
||||
ffGenerateDisplayJsonResult,
|
||||
ffPrintDisplayHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
options->compactType = FF_DISPLAY_COMPACT_TYPE_NONE;
|
||||
options->preciseRefreshRate = false;
|
||||
|
||||
+10
-1
@@ -109,7 +109,16 @@ void ffPrintFontHelpFormat(void)
|
||||
|
||||
void ffInitFontOptions(FFFontOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_FONT_MODULE_NAME, ffParseFontCommandOptions, ffParseFontJsonObject, ffPrintFont, ffGenerateFontJsonResult, ffPrintFontHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_FONT_MODULE_NAME,
|
||||
ffParseFontCommandOptions,
|
||||
ffParseFontJsonObject,
|
||||
ffPrintFont,
|
||||
ffGenerateFontJsonResult,
|
||||
ffPrintFontHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
@@ -119,7 +119,16 @@ void ffPrintGamepadHelpFormat(void)
|
||||
|
||||
void ffInitGamepadOptions(FFGamepadOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_GAMEPAD_MODULE_NAME, ffParseGamepadCommandOptions, ffParseGamepadJsonObject, ffPrintGamepad, ffGenerateGamepadJsonResult, ffPrintGamepadHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_GAMEPAD_MODULE_NAME,
|
||||
ffParseGamepadCommandOptions,
|
||||
ffParseGamepadJsonObject,
|
||||
ffPrintGamepad,
|
||||
ffGenerateGamepadJsonResult,
|
||||
ffPrintGamepadHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
+10
-1
@@ -285,7 +285,16 @@ void ffPrintGPUHelpFormat(void)
|
||||
|
||||
void ffInitGPUOptions(FFGPUOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_GPU_MODULE_NAME, ffParseGPUCommandOptions, ffParseGPUJsonObject, ffPrintGPU, ffGenerateGPUJsonResult, ffPrintGPUHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_GPU_MODULE_NAME,
|
||||
ffParseGPUCommandOptions,
|
||||
ffParseGPUJsonObject,
|
||||
ffPrintGPU,
|
||||
ffGenerateGPUJsonResult,
|
||||
ffPrintGPUHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
|
||||
options->forceVulkan = false;
|
||||
|
||||
+10
-1
@@ -142,7 +142,16 @@ void ffPrintHostHelpFormat(void)
|
||||
|
||||
void ffInitHostOptions(FFHostOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_HOST_MODULE_NAME, ffParseHostCommandOptions, ffParseHostJsonObject, ffPrintHost, ffGenerateHostJsonResult, ffPrintHostHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_HOST_MODULE_NAME,
|
||||
ffParseHostCommandOptions,
|
||||
ffParseHostJsonObject,
|
||||
ffPrintHost,
|
||||
ffGenerateHostJsonResult,
|
||||
ffPrintHostHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
@@ -80,7 +80,16 @@ void ffPrintIconsHelpFormat(void)
|
||||
|
||||
void ffInitIconsOptions(FFIconsOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_ICONS_MODULE_NAME, ffParseIconsCommandOptions, ffParseIconsJsonObject, ffPrintIcons, ffGenerateIconsJsonResult, ffPrintIconsHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_ICONS_MODULE_NAME,
|
||||
ffParseIconsCommandOptions,
|
||||
ffParseIconsJsonObject,
|
||||
ffPrintIcons,
|
||||
ffGenerateIconsJsonResult,
|
||||
ffPrintIconsHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
@@ -78,7 +78,16 @@ void ffPrintKernelHelpFormat(void)
|
||||
|
||||
void ffInitKernelOptions(FFKernelOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_KERNEL_MODULE_NAME, ffParseKernelCommandOptions, ffParseKernelJsonObject, ffPrintKernel, ffGenerateKernelJsonResult, ffPrintKernelHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_KERNEL_MODULE_NAME,
|
||||
ffParseKernelCommandOptions,
|
||||
ffParseKernelJsonObject,
|
||||
ffPrintKernel,
|
||||
ffGenerateKernelJsonResult,
|
||||
ffPrintKernelHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
+10
-1
@@ -118,7 +118,16 @@ void ffPrintLMHelpFormat(void)
|
||||
|
||||
void ffInitLMOptions(FFLMOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_LM_MODULE_NAME, ffParseLMCommandOptions, ffParseLMJsonObject, ffPrintLM, ffGenerateLMJsonResult, ffPrintLMHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_LM_MODULE_NAME,
|
||||
ffParseLMCommandOptions,
|
||||
ffParseLMJsonObject,
|
||||
ffPrintLM,
|
||||
ffGenerateLMJsonResult,
|
||||
ffPrintLMHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
@@ -80,7 +80,16 @@ void ffPrintLocaleHelpFormat(void)
|
||||
|
||||
void ffInitLocaleOptions(FFLocaleOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_LOCALE_MODULE_NAME, ffParseLocaleCommandOptions, ffParseLocaleJsonObject, ffPrintLocale, ffGenerateLocaleJsonResult, ffPrintLocaleHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_LOCALE_MODULE_NAME,
|
||||
ffParseLocaleCommandOptions,
|
||||
ffParseLocaleJsonObject,
|
||||
ffPrintLocale,
|
||||
ffGenerateLocaleJsonResult,
|
||||
ffPrintLocaleHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
@@ -324,7 +324,16 @@ void ffPrintLocalIpHelpFormat(void)
|
||||
|
||||
void ffInitLocalIpOptions(FFLocalIpOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_LOCALIP_MODULE_NAME, ffParseLocalIpCommandOptions, ffParseLocalIpJsonObject, ffPrintLocalIp, ffGenerateLocalIpJsonResult, ffPrintLocalIpHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_LOCALIP_MODULE_NAME,
|
||||
ffParseLocalIpCommandOptions,
|
||||
ffParseLocalIpJsonObject,
|
||||
ffPrintLocalIp,
|
||||
ffGenerateLocalIpJsonResult,
|
||||
ffPrintLocalIpHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
|
||||
options->showType = FF_LOCALIP_TYPE_IPV4_BIT;
|
||||
|
||||
@@ -162,7 +162,16 @@ void ffPrintMediaHelpFormat(void)
|
||||
|
||||
void ffInitMediaOptions(FFMediaOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_MEDIA_MODULE_NAME, ffParseMediaCommandOptions, ffParseMediaJsonObject, ffPrintMedia, ffGenerateMediaJsonResult, ffPrintMediaHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_MEDIA_MODULE_NAME,
|
||||
ffParseMediaCommandOptions,
|
||||
ffParseMediaJsonObject,
|
||||
ffPrintMedia,
|
||||
ffGenerateMediaJsonResult,
|
||||
ffPrintMediaHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
@@ -120,7 +120,16 @@ void ffPrintMemoryHelpFormat(void)
|
||||
|
||||
void ffInitMemoryOptions(FFMemoryOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_MEMORY_MODULE_NAME, ffParseMemoryCommandOptions, ffParseMemoryJsonObject, ffPrintMemory, ffGenerateMemoryJsonResult, ffPrintMemoryHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_MEMORY_MODULE_NAME,
|
||||
ffParseMemoryCommandOptions,
|
||||
ffParseMemoryJsonObject,
|
||||
ffPrintMemory,
|
||||
ffGenerateMemoryJsonResult,
|
||||
ffPrintMemoryHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
@@ -152,7 +152,16 @@ void ffPrintMonitorHelpFormat(void)
|
||||
|
||||
void ffInitMonitorOptions(FFMonitorOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_MONITOR_MODULE_NAME, ffParseMonitorCommandOptions, ffParseMonitorJsonObject, ffPrintMonitor, ffGenerateMonitorJsonResult, ffPrintMonitorHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_MONITOR_MODULE_NAME,
|
||||
ffParseMonitorCommandOptions,
|
||||
ffParseMonitorJsonObject,
|
||||
ffPrintMonitor,
|
||||
ffGenerateMonitorJsonResult,
|
||||
ffPrintMonitorHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
@@ -203,7 +203,16 @@ void ffPrintNetIOHelpFormat(void)
|
||||
|
||||
void ffInitNetIOOptions(FFNetIOOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_NETIO_MODULE_NAME, ffParseNetIOCommandOptions, ffParseNetIOJsonObject, ffPrintNetIO, ffGenerateNetIOJsonResult, ffPrintNetIOHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_NETIO_MODULE_NAME,
|
||||
ffParseNetIOCommandOptions,
|
||||
ffParseNetIOJsonObject,
|
||||
ffPrintNetIO,
|
||||
ffGenerateNetIOJsonResult,
|
||||
ffPrintNetIOHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
|
||||
ffStrbufInit(&options->namePrefix);
|
||||
|
||||
@@ -103,7 +103,16 @@ void ffPrintOpenCLHelpFormat(void)
|
||||
|
||||
void ffInitOpenCLOptions(FFOpenCLOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_OPENCL_MODULE_NAME, ffParseOpenCLCommandOptions, ffParseOpenCLJsonObject, ffPrintOpenCL, ffGenerateOpenCLJsonResult, ffPrintOpenCLHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_OPENCL_MODULE_NAME,
|
||||
ffParseOpenCLCommandOptions,
|
||||
ffParseOpenCLJsonObject,
|
||||
ffPrintOpenCL,
|
||||
ffGenerateOpenCLJsonResult,
|
||||
ffPrintOpenCLHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
@@ -141,7 +141,16 @@ void ffPrintOpenGLHelpFormat(void)
|
||||
|
||||
void ffInitOpenGLOptions(FFOpenGLOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_OPENGL_MODULE_NAME, ffParseOpenGLCommandOptions, ffParseOpenGLJsonObject, ffPrintOpenGL, ffGenerateOpenGLJsonResult, ffPrintOpenGLHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_OPENGL_MODULE_NAME,
|
||||
ffParseOpenGLCommandOptions,
|
||||
ffParseOpenGLJsonObject,
|
||||
ffPrintOpenGL,
|
||||
ffGenerateOpenGLJsonResult,
|
||||
ffPrintOpenGLHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
|
||||
#if defined(__linux__) || defined(__FreeBSD__)
|
||||
|
||||
+10
-1
@@ -206,7 +206,16 @@ void ffPrintOSHelpFormat(void)
|
||||
|
||||
void ffInitOSOptions(FFOSOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_OS_MODULE_NAME, ffParseOSCommandOptions, ffParseOSJsonObject, ffPrintOS, ffGenerateOSJsonResult, ffPrintOSHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_OS_MODULE_NAME,
|
||||
ffParseOSCommandOptions,
|
||||
ffParseOSJsonObject,
|
||||
ffPrintOS,
|
||||
ffGenerateOSJsonResult,
|
||||
ffPrintOSHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
@@ -206,7 +206,16 @@ void ffPrintPackagesHelpFormat(void)
|
||||
|
||||
void ffInitPackagesOptions(FFPackagesOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_PACKAGES_MODULE_NAME, ffParsePackagesCommandOptions, ffParsePackagesJsonObject, ffPrintPackages, ffGeneratePackagesJsonResult, ffPrintPackagesHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_PACKAGES_MODULE_NAME,
|
||||
ffParsePackagesCommandOptions,
|
||||
ffParsePackagesJsonObject,
|
||||
ffPrintPackages,
|
||||
ffGeneratePackagesJsonResult,
|
||||
ffPrintPackagesHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
@@ -128,7 +128,16 @@ void ffPrintPlayerHelpFormat(void)
|
||||
|
||||
void ffInitPlayerOptions(FFPlayerOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_PLAYER_MODULE_NAME, ffParsePlayerCommandOptions, ffParsePlayerJsonObject, ffPrintPlayer, ffGeneratePlayerJsonResult, ffPrintPlayerHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_PLAYER_MODULE_NAME,
|
||||
ffParsePlayerCommandOptions,
|
||||
ffParsePlayerJsonObject,
|
||||
ffPrintPlayer,
|
||||
ffGeneratePlayerJsonResult,
|
||||
ffPrintPlayerHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
@@ -129,7 +129,16 @@ void ffPrintPowerAdapterHelpFormat(void)
|
||||
|
||||
void ffInitPowerAdapterOptions(FFPowerAdapterOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_POWERADAPTER_MODULE_NAME, ffParsePowerAdapterCommandOptions, ffParsePowerAdapterJsonObject, ffPrintPowerAdapter, ffGeneratePowerAdapterJsonResult, ffPrintPowerAdapterHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_POWERADAPTER_MODULE_NAME,
|
||||
ffParsePowerAdapterCommandOptions,
|
||||
ffParsePowerAdapterJsonObject,
|
||||
ffPrintPowerAdapter,
|
||||
ffGeneratePowerAdapterJsonResult,
|
||||
ffPrintPowerAdapterHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
@@ -81,7 +81,16 @@ void ffPrintProcessesHelpFormat(void)
|
||||
|
||||
void ffInitProcessesOptions(FFProcessesOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_PROCESSES_MODULE_NAME, ffParseProcessesCommandOptions, ffParseProcessesJsonObject, ffPrintProcesses, ffGenerateProcessesJsonResult, ffPrintProcessesHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_PROCESSES_MODULE_NAME,
|
||||
ffParseProcessesCommandOptions,
|
||||
ffParseProcessesJsonObject,
|
||||
ffPrintProcesses,
|
||||
ffGenerateProcessesJsonResult,
|
||||
ffPrintProcessesHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
@@ -122,7 +122,16 @@ void ffPrintPublicIpHelpFormat(void)
|
||||
|
||||
void ffInitPublicIpOptions(FFPublicIpOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_PUBLICIP_MODULE_NAME, ffParsePublicIpCommandOptions, ffParsePublicIpJsonObject, ffPrintPublicIp, ffGeneratePublicIpJsonResult, ffPrintPublicIpHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_PUBLICIP_MODULE_NAME,
|
||||
ffParsePublicIpCommandOptions,
|
||||
ffParsePublicIpJsonObject,
|
||||
ffPrintPublicIp,
|
||||
ffGeneratePublicIpJsonResult,
|
||||
ffPrintPublicIpHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
|
||||
ffStrbufInit(&options->url);
|
||||
|
||||
@@ -111,7 +111,16 @@ void ffParseSeparatorJsonObject(FFSeparatorOptions* options, yyjson_val* module)
|
||||
|
||||
void ffInitSeparatorOptions(FFSeparatorOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_SEPARATOR_MODULE_NAME, ffParseSeparatorCommandOptions, ffParseSeparatorJsonObject, ffPrintSeparator, NULL, NULL);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_SEPARATOR_MODULE_NAME,
|
||||
ffParseSeparatorCommandOptions,
|
||||
ffParseSeparatorJsonObject,
|
||||
ffPrintSeparator,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL
|
||||
);
|
||||
ffStrbufInit(&options->string);
|
||||
}
|
||||
|
||||
|
||||
@@ -101,7 +101,16 @@ void ffPrintShellHelpFormat(void)
|
||||
|
||||
void ffInitShellOptions(FFShellOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_SHELL_MODULE_NAME, ffParseShellCommandOptions, ffParseShellJsonObject, ffPrintShell, ffGenerateShellJsonResult, ffPrintShellHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_SHELL_MODULE_NAME,
|
||||
ffParseShellCommandOptions,
|
||||
ffParseShellJsonObject,
|
||||
ffPrintShell,
|
||||
ffGenerateShellJsonResult,
|
||||
ffPrintShellHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
@@ -189,7 +189,16 @@ void ffPrintSoundHelpFormat(void)
|
||||
|
||||
void ffInitSoundOptions(FFSoundOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_SOUND_MODULE_NAME, ffParseSoundCommandOptions, ffParseSoundJsonObject, ffPrintSound, ffGenerateSoundJsonResult, ffPrintSoundHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_SOUND_MODULE_NAME,
|
||||
ffParseSoundCommandOptions,
|
||||
ffParseSoundJsonObject,
|
||||
ffPrintSound,
|
||||
ffGenerateSoundJsonResult,
|
||||
ffPrintSoundHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
|
||||
options->soundType = FF_SOUND_TYPE_MAIN;
|
||||
|
||||
+10
-1
@@ -127,7 +127,16 @@ void ffPrintSwapHelpFormat(void)
|
||||
|
||||
void ffInitSwapOptions(FFSwapOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_SWAP_MODULE_NAME, ffParseSwapCommandOptions, ffParseSwapJsonObject, ffPrintSwap, ffGenerateSwapJsonResult, ffPrintSwapHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_SWAP_MODULE_NAME,
|
||||
ffParseSwapCommandOptions,
|
||||
ffParseSwapJsonObject,
|
||||
ffPrintSwap,
|
||||
ffGenerateSwapJsonResult,
|
||||
ffPrintSwapHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
@@ -100,7 +100,16 @@ void ffPrintTerminalHelpFormat(void)
|
||||
|
||||
void ffInitTerminalOptions(FFTerminalOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_TERMINAL_MODULE_NAME, ffParseTerminalCommandOptions, ffParseTerminalJsonObject, ffPrintTerminal, ffGenerateTerminalJsonResult, ffPrintTerminalHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_TERMINAL_MODULE_NAME,
|
||||
ffParseTerminalCommandOptions,
|
||||
ffParseTerminalJsonObject,
|
||||
ffPrintTerminal,
|
||||
ffGenerateTerminalJsonResult,
|
||||
ffPrintTerminalHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
@@ -126,7 +126,16 @@ void ffPrintTerminalFontHelpFormat(void)
|
||||
|
||||
void ffInitTerminalFontOptions(FFTerminalFontOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_TERMINALFONT_MODULE_NAME, ffParseTerminalFontCommandOptions, ffParseTerminalFontJsonObject, ffPrintTerminalFont, ffGenerateTerminalFontJsonResult, ffPrintTerminalFontHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_TERMINALFONT_MODULE_NAME,
|
||||
ffParseTerminalFontCommandOptions,
|
||||
ffParseTerminalFontJsonObject,
|
||||
ffPrintTerminalFont,
|
||||
ffGenerateTerminalFontJsonResult,
|
||||
ffPrintTerminalFontHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
@@ -95,7 +95,16 @@ void ffPrintTerminalSizeHelpFormat(void)
|
||||
|
||||
void ffInitTerminalSizeOptions(FFTerminalSizeOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_TERMINALSIZE_MODULE_NAME, ffParseTerminalSizeCommandOptions, ffParseTerminalSizeJsonObject, ffPrintTerminalSize, ffGenerateTerminalSizeJsonResult, ffPrintTerminalSizeHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_TERMINALSIZE_MODULE_NAME,
|
||||
ffParseTerminalSizeCommandOptions,
|
||||
ffParseTerminalSizeJsonObject,
|
||||
ffPrintTerminalSize,
|
||||
ffGenerateTerminalSizeJsonResult,
|
||||
ffPrintTerminalSizeHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
@@ -80,7 +80,16 @@ void ffPrintThemeHelpFormat(void)
|
||||
|
||||
void ffInitThemeOptions(FFThemeOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_THEME_MODULE_NAME, ffParseThemeCommandOptions, ffParseThemeJsonObject, ffPrintTheme, ffGenerateThemeJsonResult, ffPrintThemeHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_THEME_MODULE_NAME,
|
||||
ffParseThemeCommandOptions,
|
||||
ffParseThemeJsonObject,
|
||||
ffPrintTheme,
|
||||
ffGenerateThemeJsonResult,
|
||||
ffPrintThemeHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
@@ -169,7 +169,16 @@ void ffPrintTitleHelpFormat(void)
|
||||
|
||||
void ffInitTitleOptions(FFTitleOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_TITLE_MODULE_NAME, ffParseTitleCommandOptions, ffParseTitleJsonObject, ffPrintTitle, ffGenerateTitleJsonResult, ffPrintTitleHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_TITLE_MODULE_NAME,
|
||||
ffParseTitleCommandOptions,
|
||||
ffParseTitleJsonObject,
|
||||
ffPrintTitle,
|
||||
ffGenerateTitleJsonResult,
|
||||
ffPrintTitleHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
ffStrbufSetStatic(&options->moduleArgs.key, " ");
|
||||
|
||||
|
||||
@@ -144,7 +144,16 @@ void ffPrintUptimeHelpFormat(void)
|
||||
|
||||
void ffInitUptimeOptions(FFUptimeOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_UPTIME_MODULE_NAME, ffParseUptimeCommandOptions, ffParseUptimeJsonObject, ffPrintUptime, ffGenerateUptimeJsonResult, ffPrintUptimeHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_UPTIME_MODULE_NAME,
|
||||
ffParseUptimeCommandOptions,
|
||||
ffParseUptimeJsonObject,
|
||||
ffPrintUptime,
|
||||
ffGenerateUptimeJsonResult,
|
||||
ffPrintUptimeHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
@@ -176,7 +176,16 @@ void ffPrintUsersHelpFormat(void)
|
||||
|
||||
void ffInitUsersOptions(FFUsersOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_USERS_MODULE_NAME, ffParseUsersCommandOptions, ffParseUsersJsonObject, ffPrintUsers, ffGenerateUsersJsonResult, ffPrintUsersHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_USERS_MODULE_NAME,
|
||||
ffParseUsersCommandOptions,
|
||||
ffParseUsersJsonObject,
|
||||
ffPrintUsers,
|
||||
ffGenerateUsersJsonResult,
|
||||
ffPrintUsersHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
|
||||
options->compact = false;
|
||||
|
||||
@@ -121,7 +121,16 @@ void ffPrintVersionHelpFormat(void)
|
||||
|
||||
void ffInitVersionOptions(FFVersionOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_VERSION_MODULE_NAME, ffParseVersionCommandOptions, ffParseVersionJsonObject, ffPrintVersion, ffGenerateVersionJsonResult, ffPrintVersionHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_VERSION_MODULE_NAME,
|
||||
ffParseVersionCommandOptions,
|
||||
ffParseVersionJsonObject,
|
||||
ffPrintVersion,
|
||||
ffGenerateVersionJsonResult,
|
||||
ffPrintVersionHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
@@ -137,7 +137,16 @@ void ffPrintVulkanHelpFormat(void)
|
||||
|
||||
void ffInitVulkanOptions(FFVulkanOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_VULKAN_MODULE_NAME, ffParseVulkanCommandOptions, ffParseVulkanJsonObject, ffPrintVulkan, ffGenerateVulkanJsonResult, ffPrintVulkanHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_VULKAN_MODULE_NAME,
|
||||
ffParseVulkanCommandOptions,
|
||||
ffParseVulkanJsonObject,
|
||||
ffPrintVulkan,
|
||||
ffGenerateVulkanJsonResult,
|
||||
ffPrintVulkanHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
@@ -90,7 +90,16 @@ void ffPrintWallpaperHelpFormat(void)
|
||||
|
||||
void ffInitWallpaperOptions(FFWallpaperOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_WALLPAPER_MODULE_NAME, ffParseWallpaperCommandOptions, ffParseWallpaperJsonObject, ffPrintWallpaper, ffGenerateWallpaperJsonResult, ffPrintWallpaperHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_WALLPAPER_MODULE_NAME,
|
||||
ffParseWallpaperCommandOptions,
|
||||
ffParseWallpaperJsonObject,
|
||||
ffPrintWallpaper,
|
||||
ffGenerateWallpaperJsonResult,
|
||||
ffPrintWallpaperHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
@@ -117,7 +117,16 @@ void ffPrintWeatherHelpFormat(void)
|
||||
|
||||
void ffInitWeatherOptions(FFWeatherOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_WEATHER_MODULE_NAME, ffParseWeatherCommandOptions, ffParseWeatherJsonObject, ffPrintWeather, ffGenerateWeatherJsonResult, ffPrintWeatherHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_WEATHER_MODULE_NAME,
|
||||
ffParseWeatherCommandOptions,
|
||||
ffParseWeatherJsonObject,
|
||||
ffPrintWeather,
|
||||
ffGenerateWeatherJsonResult,
|
||||
ffPrintWeatherHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
|
||||
ffStrbufInit(&options->location);
|
||||
|
||||
+10
-1
@@ -161,7 +161,16 @@ void ffPrintWifiHelpFormat(void)
|
||||
|
||||
void ffInitWifiOptions(FFWifiOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_WIFI_MODULE_NAME, ffParseWifiCommandOptions, ffParseWifiJsonObject, ffPrintWifi, ffGenerateWifiJsonResult, ffPrintWifiHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_WIFI_MODULE_NAME,
|
||||
ffParseWifiCommandOptions,
|
||||
ffParseWifiJsonObject,
|
||||
ffPrintWifi,
|
||||
ffGenerateWifiJsonResult,
|
||||
ffPrintWifiHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
+10
-1
@@ -94,7 +94,16 @@ void ffPrintWMHelpFormat(void)
|
||||
|
||||
void ffInitWMOptions(FFWMOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_WM_MODULE_NAME, ffParseWMCommandOptions, ffParseWMJsonObject, ffPrintWM, ffGenerateWMJsonResult, ffPrintWMHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_WM_MODULE_NAME,
|
||||
ffParseWMCommandOptions,
|
||||
ffParseWMJsonObject,
|
||||
ffPrintWM,
|
||||
ffGenerateWMJsonResult,
|
||||
ffPrintWMHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
@@ -78,7 +78,16 @@ void ffPrintWMthemeHelpFormat(void)
|
||||
|
||||
void ffInitWMThemeOptions(FFWMThemeOptions* options)
|
||||
{
|
||||
ffOptionInitModuleBaseInfo(&options->moduleInfo, FF_WMTHEME_MODULE_NAME, ffParseWMThemeCommandOptions, ffParseWMThemeJsonObject, ffPrintWMTheme, ffGenerateWMThemeJsonResult, ffPrintWMthemeHelpFormat);
|
||||
ffOptionInitModuleBaseInfo(
|
||||
&options->moduleInfo,
|
||||
FF_WMTHEME_MODULE_NAME,
|
||||
ffParseWMThemeCommandOptions,
|
||||
ffParseWMThemeJsonObject,
|
||||
ffPrintWMTheme,
|
||||
ffGenerateWMThemeJsonResult,
|
||||
ffPrintWMthemeHelpFormat,
|
||||
NULL
|
||||
);
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user