HarmonyLinkUE/Source/HarmonyLinkUE/Public/Structs/CPUInfo.h

40 lines
1 KiB
C

// Copyright (C) 2024 Jordon Brooks
#pragma once
#include "CoreMinimal.h"
#include "Structs/FCPUInfo.h"
#include "CPUInfo.generated.h"
/*
* Represents information about the CPU of a device.
*/
USTRUCT(BlueprintType)
struct FCPUInfo
{
GENERATED_BODY()
FCPUInfo() {}
// The vendor identifier for the CPU.
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="HarmonyLink")
FString VendorID;
// The model name of the CPU.
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="HarmonyLink")
FString ModelName;
// The number of physical cores in the CPU.
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="HarmonyLink")
int32 PhysicalCores = 0;
// The number of logical cores in the CPU (may be different from physical cores).
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="HarmonyLink")
int32 LogicalCores = 0;
// Constructor that initializes the struct with information from an external CPU info source.
// @param cpu_info Pointer to an external FCPUInfo structure to copy data from.
FCPUInfo(HarmonyLinkLib::FCPUInfo* cpu_info);
};