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

// (DO NOT EDIT: machine generated header) 'Wclhelpers.pas' rev: 21.00

#ifndef WclhelpersHPP
#define WclhelpersHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <Sysinit.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <Wclerrors.hpp>	// Pascal unit

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

namespace Wclhelpers
{
//-- type declarations -------------------------------------------------------
#pragma option push -b
enum TwclWinVer { verUnknown = 1, verWinXP, verWinVista, verWin7, verWin8, verWin81, verWin10, verWin11 };
#pragma option pop

class DELPHICLASS TwclOsVersion;
class PASCALIMPLEMENTATION TwclOsVersion : public System::TObject
{
	typedef System::TObject inherited;
	
private:
	bool FIsWinIot;
	TwclWinVer FOsVersion;
	System::Word FOsBuild;
	void __fastcall ReadIsWinIot(void);
	void __fastcall CheckWin10orAbove(void);
	void __fastcall ReadOsVersion(void);
	
public:
	__fastcall TwclOsVersion(void);
	__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(void) { }
	
};


//-- var, const, procedure ---------------------------------------------------
extern PACKAGE TwclOsVersion* wclOsVersion;
extern PACKAGE unsigned __fastcall wclCreateMutex(const System::UnicodeString Name, const bool Unique, const bool Own = false);
extern 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 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 */
using namespace Wclhelpers;
#pragma pack(pop)
#pragma option pop

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