indexing
	description: "Objects that allow the user to know about Windows versions"
	status: "See notice at end of class."
	date: "$Date$"
	revision: "$Revision$"

class interface
	WEL_WINDOWS_VERSION

create 

feature -- "Shell and Common controls" Versions

	comctl32_version: INTEGER
			-- Version of Comctl32.dll

	shell32_version: INTEGER
			-- Version of Shell32.dll

	shlwapi_version: INTEGER
			-- Version of Shlwapi.dll
	
feature -- Version Constants

	version_400: INTEGER
			-- version_400 <=> Microsoft® Windows® 95/Windows NT® 4.0

	version_470: INTEGER
			-- version_470 <=> Microsoft® Internet Explorer 3.x

	version_471: INTEGER
			-- version_471 <=> Microsoft® Internet Explorer 4.0

	version_472: INTEGER
			-- version_472 <=> Microsoft® Internet Explorer 4.01 & Windows® 98

	version_500: INTEGER
			-- version_500 (Shlwapi.dll) <=> Microsoft® Internet Explorer 5
			-- version_500 (Shell32.dll) <=> Microsoft® Windows® 2000

	version_580: INTEGER
			-- version_580 (Comctl32.dll) <=> Microsoft® Internet Explorer 5

	version_581: INTEGER
			-- version_581 (Comctl32.dll)<=> Microsoft® Windows 2000
	
feature -- Windows Versions

	is_windows_2000: BOOLEAN
		ensure
			windows2000_is_nt: Result implies is_windows_nt

	is_windows_95: BOOLEAN
			-- Is the current program running under Windows 95
			-- (OSR1, OSR2 or OSR2.5)?
		ensure
			windows95_is_9x: Result implies is_windows_9x

	is_windows_98: BOOLEAN
			-- Is the current program running under Windows 98
			-- (1st or 2nd edition)?
		ensure
			windows98_is_9x: Result implies is_windows_9x

	is_windows_9x: BOOLEAN
			-- Is the current program running under Windows 9x
			-- (Windows 95, Windows 98, Windows Me, ...)?

	is_windows_me: BOOLEAN
			-- Is the current program running under Windows Millenium Edition?
		ensure
			windows_me_is_9x: Result implies is_windows_9x

	is_windows_nt: BOOLEAN
			-- Is the current program running under Windows NT
			-- (Windows NT 3.51, Windows NT4, Windows 2000, ...)?

	is_windows_nt4: BOOLEAN
		ensure
			windows_nt4_is_nt: Result implies is_windows_nt
	
invariant

		-- from ANY
	reflexive_equality: standard_is_equal (Current)
	reflexive_conformance: conforms_to (Current)

end -- class WEL_WINDOWS_VERSION