//
// System.OperatingSystem.cs
//
// Author:
// Jim Richardson (develop@wtfo-guru.com)
//
// (C) 2001 Moonlight Enterprises, All Rights Reserved
//
namespace System
{
///
/// Class representing a specific operating system version for a specific platform
///
[Serializable]
public sealed class OperatingSystem : ICloneable
{
private System.PlatformID itsPlatform;
private Version itsVersion;
public OperatingSystem (PlatformID platform, Version version)
{
if (version == null) {
throw new ArgumentNullException ("version");
}
itsPlatform = platform;
itsVersion = version;
}
public PlatformID Platform {
get {
return itsPlatform;
}
}
public Version Version {
get {
return itsVersion;
}
}
public object Clone ()
{
return new OperatingSystem (itsPlatform, itsVersion);
}
public override string ToString ()
{
string str;
switch ((int) itsPlatform) {
case (int) System.PlatformID.Win32NT:
str = "Microsoft Windows NT";
break;
case (int) System.PlatformID.Win32S:
str = "Microsoft Win32S";
break;
case (int) System.PlatformID.Win32Windows:
str = "Microsoft Windows 98";
break;
case 128 /* PlatformID.Unix */:
str = "Unix";
break;
default:
str = Locale.GetText ("");
break;
}
return str + " " + itsVersion.ToString();
}
}
}