mirror of
https://github.com/fastfetch-cli/fastfetch.git
synced 2026-10-30 09:33:39 +01:00
40 lines
1.2 KiB
C
40 lines
1.2 KiB
C
#include "chassis.h"
|
|
#include "detection/host/host.h"
|
|
|
|
const char* ffDetectChassis(FFChassisResult* result)
|
|
{
|
|
FFHostResult host = {
|
|
.family = ffStrbufCreate(),
|
|
.name = ffStrbufCreate(),
|
|
.version = ffStrbufCreate(),
|
|
.sku = ffStrbufCreate(),
|
|
.serial = ffStrbufCreate(),
|
|
.uuid = ffStrbufCreate(),
|
|
.vendor = ffStrbufCreate(),
|
|
};
|
|
if (ffDetectHost(&host) != NULL)
|
|
return "Failed to detect host";
|
|
|
|
if (ffStrbufStartsWithS(&host.name, "MacBook "))
|
|
ffStrbufSetStatic(&result->type, "Laptop");
|
|
else if (ffStrbufStartsWithS(&host.name, "Mac mini ") ||
|
|
ffStrbufStartsWithS(&host.name, "Mac Studio "))
|
|
ffStrbufSetStatic(&result->type, "Mini PC");
|
|
else if (ffStrbufStartsWithS(&host.name, "iMac "))
|
|
ffStrbufSetStatic(&result->type, "All in One");
|
|
else
|
|
ffStrbufSetStatic(&result->type, "Desktop");
|
|
|
|
ffStrbufSet(&result->vendor, &host.vendor);
|
|
|
|
ffStrbufDestroy(&host.family);
|
|
ffStrbufDestroy(&host.name);
|
|
ffStrbufDestroy(&host.version);
|
|
ffStrbufDestroy(&host.sku);
|
|
ffStrbufDestroy(&host.serial);
|
|
ffStrbufDestroy(&host.uuid);
|
|
ffStrbufDestroy(&host.vendor);
|
|
|
|
return NULL;
|
|
}
|