Board: split out from host; add support for Windows

This commit is contained in:
李通洲
2022-10-05 17:03:30 +08:00
parent c7e6e45078
commit 230d2ac39d
17 changed files with 190 additions and 29 deletions
+40
View File
@@ -0,0 +1,40 @@
#include "fastfetch.h"
#include "common/printing.h"
#include "common/caching.h"
#include "detection/board/board.h"
#define FF_BOARD_MODULE_NAME "Board"
#define FF_BOARD_NUM_FORMAT_ARGS 3
void ffPrintBoard(FFinstance* instance)
{
if(ffPrintFromCache(instance, FF_BOARD_MODULE_NAME, &instance->config.board, FF_BOARD_NUM_FORMAT_ARGS))
return;
FFBoardResult result;
ffDetectBoard(&result);
if(result.error.length > 0)
{
ffPrintError(instance, FF_BOARD_MODULE_NAME, 0, &instance->config.board, "%*s", result.error.length, result.error.chars);
goto exit;
}
if(result.boardName.length == 0)
{
ffPrintError(instance, FF_BOARD_MODULE_NAME, 0, &instance->config.board, "board_name is not set.");
goto exit;
}
ffPrintAndWriteToCache(instance, FF_BOARD_MODULE_NAME, &instance->config.board, &result.boardName, FF_BOARD_NUM_FORMAT_ARGS, (FFformatarg[]) {
{FF_FORMAT_ARG_TYPE_STRBUF, &result.boardName},
{FF_FORMAT_ARG_TYPE_STRBUF, &result.boardVendor},
{FF_FORMAT_ARG_TYPE_STRBUF, &result.boardVersion},
});
exit:
ffStrbufDestroy(&result.boardName);
ffStrbufDestroy(&result.boardVendor);
ffStrbufDestroy(&result.boardVersion);
ffStrbufDestroy(&result.error);
}
+1 -4
View File
@@ -4,7 +4,7 @@
#include "detection/host/host.h"
#define FF_HOST_MODULE_NAME "Host"
#define FF_HOST_NUM_FORMAT_ARGS 11
#define FF_HOST_NUM_FORMAT_ARGS 8
void ffPrintHost(FFinstance* instance)
{
@@ -44,9 +44,6 @@ void ffPrintHost(FFinstance* instance)
{FF_FORMAT_ARG_TYPE_STRBUF, &host->productName},
{FF_FORMAT_ARG_TYPE_STRBUF, &host->productVersion},
{FF_FORMAT_ARG_TYPE_STRBUF, &host->productSku},
{FF_FORMAT_ARG_TYPE_STRBUF, &host->boardName},
{FF_FORMAT_ARG_TYPE_STRBUF, &host->boardVendor},
{FF_FORMAT_ARG_TYPE_STRBUF, &host->boardVersion},
{FF_FORMAT_ARG_TYPE_STRBUF, &host->chassisType},
{FF_FORMAT_ARG_TYPE_STRBUF, &host->chassisVendor},
{FF_FORMAT_ARG_TYPE_STRBUF, &host->chassisVersion},