// CodeGear C++Builder
// Copyright (c) 1995, 2018 by Embarcadero Technologies, Inc.
// All rights reserved

// (DO NOT EDIT: machine generated header) 'wclHelpers.pas' rev: 33.00 (Windows)

#ifndef WclhelpersHPP
#define WclhelpersHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member 
#pragma pack(push,8)
#include <System.hpp>
#include <SysInit.hpp>
#include <Winapi.Windows.hpp>
#include <wclErrors.hpp>

//-- user supplied -----------------------------------------------------------

namespace Wclhelpers
{
//-- forward type declarations -----------------------------------------------
class DELPHICLASS TwclOsVersion;
//-- type declarations -------------------------------------------------------
enum DECLSPEC_DENUM TwclWinVer : unsigned int { verUnknown = 1, verWinXP, verWinVista, verWin7, verWin8, verWin81, verWin10, verWin11 };

class PASCALIMPLEMENTATION TwclOsVersion : public System::TObject
{
	typedef System::TObject inherited;
	
private:
	bool FIsWinIot;
	TwclWinVer FOsVersion;
	System::Word FOsBuild;
	void __fastcall ReadIsWinIot();
	void __fastcall CheckWin10orAbove();
	void __fastcall ReadOsVersion();
	
public:
	__fastcall TwclOsVersion();
	__property bool IsWinIot = {read=FIsWinIot, nodefault};
	__property TwclWinVer OsVersion = {read=FOsVersion, nodefault};
	__property System::Word OsBuild = {read=FOsBuild, nodefault};
public:
	/* TObject.Destroy */ inline __fastcall virtual ~TwclOsVersion() { }
	
};


//-- var, const, procedure ---------------------------------------------------
extern DELPHI_PACKAGE TwclOsVersion* wclOsVersion;
extern DELPHI_PACKAGE NativeUInt __fastcall wclCreateMutex(const System::UnicodeString Name, const bool Unique, const bool Own = false);
extern DELPHI_PACKAGE bool __fastcall wclGetErrorInfo(const int Error, /* out */ System::UnicodeString &Framework, /* out */ System::UnicodeString &Category, /* out */ System::UnicodeString &Constant, /* out */ System::UnicodeString &Description)/* overload */;
extern DELPHI_PACKAGE bool __fastcall wclGetErrorInfo(const System::UnicodeString FileName, const int Error, /* out */ System::UnicodeString &Framework, /* out */ System::UnicodeString &Category, /* out */ System::UnicodeString &Constant, /* out */ System::UnicodeString &Description)/* overload */;
}	/* namespace Wclhelpers */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_WCLHELPERS)
using namespace Wclhelpers;
#endif
#pragma pack(pop)
#pragma option pop

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// WclhelpersHPP
