#define NODE_ADDON_API_DISABLE_CPP_EXCEPTIONS
#include <napi.h>
#include "Computer.h"
#include "Hardware.h"
#include "HardwareType.h"
#include "Sensor.h"
#include <comdef.h>
#include <Wbemidl.h>
extern std::shared_ptr<Computer> computer;
Napi::Value cpu_name(const Napi::CallbackInfo& info);
Napi::Array cpu_speed(const Napi::CallbackInfo& info);
Napi::Value cpu_power(const Napi::CallbackInfo& info);
Napi::Value cpu_voltage(const Napi::CallbackInfo& info);
Napi::Value cpu_load(const Napi::CallbackInfo& info);
Napi::Value cpu_temperature(const Napi::CallbackInfo& info);
Napi::Array current_gpu_status(const Napi::CallbackInfo& info);
Napi::Value mem_used_size(const Napi::CallbackInfo& info);
Napi::Value vmem_used_size(const Napi::CallbackInfo& info);
Napi::Value mem_free_size(const Napi::CallbackInfo& info);
Napi::Value vmem_free_size(const Napi::CallbackInfo& info);
Napi::Value mem_clock(const Napi::CallbackInfo& info);
Napi::Value mem_size(const Napi::CallbackInfo& info);
Napi::String mem_name(const Napi::CallbackInfo& info);
Napi::Array disk_name(const Napi::CallbackInfo& info);
Napi::Array current_disk_used(const Napi::CallbackInfo& info);
Napi::Array monitor_info(const Napi::CallbackInfo& info);
Napi::Object init(Napi::Env env, Napi::Object exports);
