//----------------------------------------------------------------------------
//
// Copyright (c) Intel Corporation, 2003 - 2012 All Rights Reserved.
//
// File: CIM_SoftwareIdentity.cs
//
// Contents: SoftwareIdentity provides descriptive information about a software component for asset tracking and/or installation dependency management. When the IsEntity property has the value TRUE, the instance of SoftwareIdentity represents an individually identifiable entity similar to Physical Element. SoftwareIdentity does NOT indicate whether the software is installed, executing, etc. This extra information may be provided through specialized associations to Software Identity. For instance, both InstalledSoftwareIdentity and ElementSoftwareIdentity may be used to indicate that the software identified by this class is installed. SoftwareIdentity is used when managing the software components of a ManagedElement that is the management focus. Since software may be acquired, SoftwareIdentity can be associated with a Product using the ProductSoftwareComponent relationship. The Application Model manages the deployment and installation of software via the classes, SoftwareFeatures and SoftwareElements. SoftwareFeature and SoftwareElement are used when the software component is the management focus. The deployment/installation concepts are related to the asset/identity one. In fact, a SoftwareIdentity may correspond to a Product, or to one or more SoftwareFeatures or SoftwareElements - depending on the granularity of these classes and the deployment model. The correspondence of Software Identity to Product, SoftwareFeature or SoftwareElement is indicated using the ConcreteIdentity association. Note that there may not be sufficient detail or instrumentation to instantiate ConcreteIdentity. And, if the association is instantiated, some duplication of information may result. For example, the Vendor described in the instances of Product and SoftwareIdentity MAY be the same. However, this is not necessarily true, and it is why vendor and similar information are duplicated in this class.
// Note that ConcreteIdentity can also be used to describe the relationship of the software to any LogicalFiles that result from installing it. As above, there may not be sufficient detail or instrumentation to instantiate this association.
// This file was automatically generated from CIM_SoftwareIdentity.mof
//
//----------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Text;
using System.Globalization;
using System.Xml.Serialization;
using System.IO;
using Intel.Manageability.WSManagement;
using Intel.Manageability.Cim.Untyped;
namespace Intel.Manageability.Cim.Typed
{
///
///SoftwareIdentity provides descriptive information about a software component for asset tracking and/or installation dependency management. When the IsEntity property has the value TRUE, the instance of SoftwareIdentity represents an individually identifiable entity similar to Physical Element. SoftwareIdentity does NOT indicate whether the software is installed, executing, etc. This extra information may be provided through specialized associations to Software Identity. For instance, both InstalledSoftwareIdentity and ElementSoftwareIdentity may be used to indicate that the software identified by this class is installed. SoftwareIdentity is used when managing the software components of a ManagedElement that is the management focus. Since software may be acquired, SoftwareIdentity can be associated with a Product using the ProductSoftwareComponent relationship. The Application Model manages the deployment and installation of software via the classes, SoftwareFeatures and SoftwareElements. SoftwareFeature and SoftwareElement are used when the software component is the management focus. The deployment/installation concepts are related to the asset/identity one. In fact, a SoftwareIdentity may correspond to a Product, or to one or more SoftwareFeatures or SoftwareElements - depending on the granularity of these classes and the deployment model. The correspondence of Software Identity to Product, SoftwareFeature or SoftwareElement is indicated using the ConcreteIdentity association. Note that there may not be sufficient detail or instrumentation to instantiate ConcreteIdentity. And, if the association is instantiated, some duplication of information may result. For example, the Vendor described in the instances of Product and SoftwareIdentity MAY be the same. However, this is not necessarily true, and it is why vendor and similar information are duplicated in this class.
///Note that ConcreteIdentity can also be used to describe the relationship of the software to any LogicalFiles that result from installing it. As above, there may not be sufficient detail or instrumentation to instantiate this association.
///
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_SoftwareIdentity")]
[System.Xml.Serialization.XmlRootAttribute("CIM_SoftwareIdentity", Namespace="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_SoftwareIdentity", IsNullable=false)]
public class CIM_SoftwareIdentity : CIM_LogicalElement
{
///
/// Default constructor.
///
public CIM_SoftwareIdentity() :base()
{
}
///
/// Constructor that recieves an xml string for deserialization.
///
/// xml string to deserialize
public CIM_SoftwareIdentity(string xml): base((IWSManClient)null)
{
this.Deserialize(xml);
}
///
/// Constructor which recieves a Ws-Management client object.
///
/// Ws-Management client
public CIM_SoftwareIdentity(IWSManClient client): base(client)
{
}
///
/// Remove BuildNumber field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveBuildNumber()
{
RemoveField("BuildNumber");
}
///
/// Is true if the field BuildNumber exists in the current object,
/// otherwise is false.
///
public virtual bool BuildNumberExist
{
get
{
return ContainsField("BuildNumber");
}
}
///
/// Optional, The build number of the software.
///
[CimField(false, false)]
public virtual ushort BuildNumber
{
get
{
return ushort.Parse(this["BuildNumber"][0], CultureInfo.InvariantCulture);
}
set
{
this.SetOrAddField("BuildNumber",value.ToString(CultureInfo.InvariantCulture));
}
}
///
/// Remove ClassificationDescriptions field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveClassificationDescriptions()
{
RemoveField("ClassificationDescriptions");
}
///
/// Is true if the field ClassificationDescriptions exists in the current object,
/// otherwise is false.
///
public virtual bool ClassificationDescriptionsExist
{
get
{
return ContainsField("ClassificationDescriptions");
}
}
///
/// Optional, An array of free-form strings providing more detailed explanations for any of the entries in the Classifications array. Note that each entry is related to one in the Classifications array located at the same index.
///
[CimField(false, false)]
public virtual string[] ClassificationDescriptions
{
get
{
return CimTypesUtils.StringArrayToArray(this["ClassificationDescriptions"]);
}
set
{
string[] arr = CimTypesUtils.ArrayToStringArray(value);
this.SetOrAddField("ClassificationDescriptions", arr);
}
}
///
/// Remove Classifications field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveClassifications()
{
RemoveField("Classifications");
}
///
/// Is true if the field Classifications exists in the current object,
/// otherwise is false.
///
public virtual bool ClassificationsExist
{
get
{
return ContainsField("Classifications");
}
}
///
/// Optional, An array of enumerated integers that classify this software. For example, the software MAY be instrumentation (value=5) or firmware and diagnostic software (10 and 7). The use of value 6, Firmware/BIOS, is being deprecated. Instead, either the value 10 (Firmware) and/or 11 (BIOS/FCode) SHOULD be used. The value 13, Software Bundle, identifies a software package consisting of multiple discrete software instances that can be installed individually or together.
/// Each contained software instance is represented by an instance of SoftwareIdentity that is associated to this instance of SoftwareIdentityinstance via a Component association.
///
[CimField(false, false)]
public virtual ushort[] Classifications
{
get
{
return CimTypesUtils.StringArrayToArray(this["Classifications"]);
}
set
{
string[] arr = CimTypesUtils.ArrayToStringArray(value);
this.SetOrAddField("Classifications", arr);
}
}
///
/// Remove ExtendedResourceType field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveExtendedResourceType()
{
RemoveField("ExtendedResourceType");
}
///
/// Is true if the field ExtendedResourceType exists in the current object,
/// otherwise is false.
///
public virtual bool ExtendedResourceTypeExist
{
get
{
return ContainsField("ExtendedResourceType");
}
}
///
/// Optional, The binary format type of the installation package of the software. This property can be used to locate a SoftwareInstallationService capable of installing this software.
///
[CimField(false, false)]
public virtual ushort ExtendedResourceType
{
get
{
return ushort.Parse(this["ExtendedResourceType"][0], CultureInfo.InvariantCulture);
}
set
{
this.SetOrAddField("ExtendedResourceType",value.ToString(CultureInfo.InvariantCulture));
}
}
///
/// Remove IdentityInfoType field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveIdentityInfoType()
{
RemoveField("IdentityInfoType");
}
///
/// Is true if the field IdentityInfoType exists in the current object,
/// otherwise is false.
///
public virtual bool IdentityInfoTypeExist
{
get
{
return ContainsField("IdentityInfoType");
}
}
///
/// Optional, An indexed array of fixed-form strings that provide the description of the type of information that is stored in the corresponding component of the IdentityInfoValue array. The elements of this property array describe the type of the value in the corresponding elements of the IndetityInfoValue array. When the IdentityInfoValue property is implemented, the IdentityInfoType property MUST be implemented. To insure uniqueness the IdentityInfoType property SHOULD be formatted using the following algorithm: < OrgID > : < LocalID > Where < OrgID > and < LocalID > are separated by a colon (:), and where < OrgID > MUST include a copyrighted, trademarked, or otherwise unique name that is owned by the business entity that is creating or defining the IdentityInfoType or that is a registered ID assigned to the business entity by a recognized global authority. (This requirement is similar to the < Schema Name > _ < Class Name > structure of Schema class names.) In addition, to ensure uniqueness, < OrgID > MUST NOT contain a colon (:). When using this algorithm, the first colon to appear in IdentityInfoType MUST appear between < OrgID > and < LocalID > . < LocalID > is chosen by the business entity and SHOULD NOT be reused to identify different underlying software elements.
///
[CimField(false, false)]
public virtual string[] IdentityInfoType
{
get
{
return CimTypesUtils.StringArrayToArray(this["IdentityInfoType"]);
}
set
{
string[] arr = CimTypesUtils.ArrayToStringArray(value);
this.SetOrAddField("IdentityInfoType", arr);
}
}
///
/// Remove IdentityInfoValue field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveIdentityInfoValue()
{
RemoveField("IdentityInfoValue");
}
///
/// Is true if the field IdentityInfoValue exists in the current object,
/// otherwise is false.
///
public virtual bool IdentityInfoValueExist
{
get
{
return ContainsField("IdentityInfoValue");
}
}
///
/// Optional, IdentityInfoValue captures additional information that MAY be used by an organization to describe or identify a software instance within the context of the organization. For example, large organizations may have several ways to address or identify a particular instance of software depending on where it is stored; a catalog, a web site, or for whom it is intended; development, customer service, etc. The indexed array property IdentityInfoValue contains 0 or more strings that contain a specific identity info string value. IdentityInfoValue is mapped and indexed to IdentityInfoType. When the IdentityInfoValue property is implemented, the IdentityInfoType property MUST be implemented and shall be formatted using the algorithm provided in the IdentityInfoType property Description.
///
[CimField(false, false)]
public virtual string[] IdentityInfoValue
{
get
{
return CimTypesUtils.StringArrayToArray(this["IdentityInfoValue"]);
}
set
{
string[] arr = CimTypesUtils.ArrayToStringArray(value);
this.SetOrAddField("IdentityInfoValue", arr);
}
}
///
/// Key, Required, Within the scope of the instantiating Namespace, InstanceID opaquely and uniquely identifies an instance of this class. In order to ensure uniqueness within the NameSpace, the value of InstanceID SHOULD be constructed using the following 'preferred' algorithm:
/// <OrgID>:<LocalID>
/// Where <OrgID> and <LocalID> are separated by a colon ':', and where <OrgID> MUST include a copyrighted, trademarked or otherwise unique name that is owned by the business entity creating/defining the InstanceID, or is a registered ID that is assigned to the business entity by a recognized global authority (This is similar to the <Schema Name>_<Class Name> structure of Schema class names.) In addition, to ensure uniqueness <OrgID> MUST NOT contain a colon (':'). When using this algorithm, the first colon to appear in InstanceID MUST appear between <OrgID> and <LocalID>.
/// <LocalID> is chosen by the business entity and SHOULD not be re-used to identify different underlying (real-world) elements. If the above 'preferred' algorithm is not used, the defining entity MUST assure that the resultant InstanceID is not re-used across any InstanceIDs produced by this or other providers for this instance's NameSpace.
/// For DMTF defined instances, the 'preferred' algorithm MUST be used with the <OrgID> set to 'CIM'.
///
[CimField(true, true)]
public override string InstanceID
{
get
{
return this.GetField("InstanceID")[0];
}
set
{
this.SetOrAddField("InstanceID",value);
}
}
///
/// Remove IsEntity field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveIsEntity()
{
RemoveField("IsEntity");
}
///
/// Is true if the field IsEntity exists in the current object,
/// otherwise is false.
///
public virtual bool IsEntityExist
{
get
{
return ContainsField("IsEntity");
}
}
///
/// Optional, The IsEntity property is used to indicate whether the SoftwareIdentity corresponds to a discrete copy of the software component or is being used to convey descriptive and identifying information about software that is not present in the management domain.A value of TRUE shall indicate that the SoftwareIdentity instance corresponds to a discrete copy of the software component. A value of FALSE shall indicate that the SoftwareIdentity instance does not correspond to a discrete copy of the Software.
///
[CimField(false, false)]
public virtual bool IsEntity
{
get
{
return bool.Parse(this["IsEntity"][0]);
}
set
{
this.SetOrAddField("IsEntity",value.ToString().ToLower(CultureInfo.InvariantCulture));
}
}
///
/// Remove IsLargeBuildNumber field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveIsLargeBuildNumber()
{
RemoveField("IsLargeBuildNumber");
}
///
/// Is true if the field IsLargeBuildNumber exists in the current object,
/// otherwise is false.
///
public virtual bool IsLargeBuildNumberExist
{
get
{
return ContainsField("IsLargeBuildNumber");
}
}
///
/// Optional, The IsLargeBuildNumber property is used to indicate if the BuildNumber of LargeBuildNumber property contains the value of the software build. A value of TRUE shall indicate that the build number is represented by the LargeBuildNumber property. A value of FALSE shall indicate that the build number is represented by the BuildNumber property.
///
[CimField(false, false)]
public virtual bool IsLargeBuildNumber
{
get
{
return bool.Parse(this["IsLargeBuildNumber"][0]);
}
set
{
this.SetOrAddField("IsLargeBuildNumber",value.ToString().ToLower(CultureInfo.InvariantCulture));
}
}
///
/// Remove Languages field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveLanguages()
{
RemoveField("Languages");
}
///
/// Is true if the field Languages exists in the current object,
/// otherwise is false.
///
public virtual bool LanguagesExist
{
get
{
return ContainsField("Languages");
}
}
///
/// Optional, The language editions supported by the software. The language codes defined in ISO 639 should be used.
///
[CimField(false, false)]
public virtual string[] Languages
{
get
{
return CimTypesUtils.StringArrayToArray(this["Languages"]);
}
set
{
string[] arr = CimTypesUtils.ArrayToStringArray(value);
this.SetOrAddField("Languages", arr);
}
}
///
/// Remove LargeBuildNumber field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveLargeBuildNumber()
{
RemoveField("LargeBuildNumber");
}
///
/// Is true if the field LargeBuildNumber exists in the current object,
/// otherwise is false.
///
public virtual bool LargeBuildNumberExist
{
get
{
return ContainsField("LargeBuildNumber");
}
}
///
/// Optional, The build number of the software if IsLargeBuildNumber is TRUE. TheLargeBuildNumber property should be used for all future implementations.
///
[CimField(false, false)]
public virtual ulong LargeBuildNumber
{
get
{
return ulong.Parse(this["LargeBuildNumber"][0], CultureInfo.InvariantCulture);
}
set
{
this.SetOrAddField("LargeBuildNumber",value.ToString(CultureInfo.InvariantCulture));
}
}
///
/// Remove MajorVersion field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveMajorVersion()
{
RemoveField("MajorVersion");
}
///
/// Is true if the field MajorVersion exists in the current object,
/// otherwise is false.
///
public virtual bool MajorVersionExist
{
get
{
return ContainsField("MajorVersion");
}
}
///
/// Optional, The major number component of the software's version information - for example, '12' from version 12.1(3)T. This property is defined as a numeric value to allow the determination of 'newer' vs. 'older' releases. A 'newer' major release is indicated by a larger numeric value.
///
[CimField(false, false)]
public virtual ushort MajorVersion
{
get
{
return ushort.Parse(this["MajorVersion"][0], CultureInfo.InvariantCulture);
}
set
{
this.SetOrAddField("MajorVersion",value.ToString(CultureInfo.InvariantCulture));
}
}
///
/// Remove Manufacturer field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveManufacturer()
{
RemoveField("Manufacturer");
}
///
/// Is true if the field Manufacturer exists in the current object,
/// otherwise is false.
///
public virtual bool ManufacturerExist
{
get
{
return ContainsField("Manufacturer");
}
}
///
/// Optional, Manufacturer of this software.
///
[CimField(false, false)]
public virtual string Manufacturer
{
get
{
return this.GetField("Manufacturer")[0];
}
set
{
this.SetOrAddField("Manufacturer",value);
}
}
///
/// Remove MinExtendedResourceTypeBuildNumber field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveMinExtendedResourceTypeBuildNumber()
{
RemoveField("MinExtendedResourceTypeBuildNumber");
}
///
/// Is true if the field MinExtendedResourceTypeBuildNumber exists in the current object,
/// otherwise is false.
///
public virtual bool MinExtendedResourceTypeBuildNumberExist
{
get
{
return ContainsField("MinExtendedResourceTypeBuildNumber");
}
}
///
/// Optional, This property represents the Build number component of the minimum version of the installer, represented by theExtendedResourceType property, that is required to install this software.
///
[CimField(false, false)]
public virtual ushort MinExtendedResourceTypeBuildNumber
{
get
{
return ushort.Parse(this["MinExtendedResourceTypeBuildNumber"][0], CultureInfo.InvariantCulture);
}
set
{
this.SetOrAddField("MinExtendedResourceTypeBuildNumber",value.ToString(CultureInfo.InvariantCulture));
}
}
///
/// Remove MinExtendedResourceTypeMajorVersion field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveMinExtendedResourceTypeMajorVersion()
{
RemoveField("MinExtendedResourceTypeMajorVersion");
}
///
/// Is true if the field MinExtendedResourceTypeMajorVersion exists in the current object,
/// otherwise is false.
///
public virtual bool MinExtendedResourceTypeMajorVersionExist
{
get
{
return ContainsField("MinExtendedResourceTypeMajorVersion");
}
}
///
/// Optional, This property represents the major number component of the minimum version of the installer, represented by the ExtendedResourceType property, that is required to install this software.
///
[CimField(false, false)]
public virtual ushort MinExtendedResourceTypeMajorVersion
{
get
{
return ushort.Parse(this["MinExtendedResourceTypeMajorVersion"][0], CultureInfo.InvariantCulture);
}
set
{
this.SetOrAddField("MinExtendedResourceTypeMajorVersion",value.ToString(CultureInfo.InvariantCulture));
}
}
///
/// Remove MinExtendedResourceTypeMinorVersion field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveMinExtendedResourceTypeMinorVersion()
{
RemoveField("MinExtendedResourceTypeMinorVersion");
}
///
/// Is true if the field MinExtendedResourceTypeMinorVersion exists in the current object,
/// otherwise is false.
///
public virtual bool MinExtendedResourceTypeMinorVersionExist
{
get
{
return ContainsField("MinExtendedResourceTypeMinorVersion");
}
}
///
/// Optional, This property represents the minor number component of the minimum version of the installer, represented by theExtendedResourceType property, that is required to install this software.
///
[CimField(false, false)]
public virtual ushort MinExtendedResourceTypeMinorVersion
{
get
{
return ushort.Parse(this["MinExtendedResourceTypeMinorVersion"][0], CultureInfo.InvariantCulture);
}
set
{
this.SetOrAddField("MinExtendedResourceTypeMinorVersion",value.ToString(CultureInfo.InvariantCulture));
}
}
///
/// Remove MinExtendedResourceTypeRevisionNumber field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveMinExtendedResourceTypeRevisionNumber()
{
RemoveField("MinExtendedResourceTypeRevisionNumber");
}
///
/// Is true if the field MinExtendedResourceTypeRevisionNumber exists in the current object,
/// otherwise is false.
///
public virtual bool MinExtendedResourceTypeRevisionNumberExist
{
get
{
return ContainsField("MinExtendedResourceTypeRevisionNumber");
}
}
///
/// Optional, This property represents the Revision number component of the minimum version of the installer, represented by theExtendedResourceType property, that is required to install this software.
///
[CimField(false, false)]
public virtual ushort MinExtendedResourceTypeRevisionNumber
{
get
{
return ushort.Parse(this["MinExtendedResourceTypeRevisionNumber"][0], CultureInfo.InvariantCulture);
}
set
{
this.SetOrAddField("MinExtendedResourceTypeRevisionNumber",value.ToString(CultureInfo.InvariantCulture));
}
}
///
/// Remove MinorVersion field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveMinorVersion()
{
RemoveField("MinorVersion");
}
///
/// Is true if the field MinorVersion exists in the current object,
/// otherwise is false.
///
public virtual bool MinorVersionExist
{
get
{
return ContainsField("MinorVersion");
}
}
///
/// Optional, The minor number component of the software's version information - for example, '1' from version 12.1(3)T. This property is defined as a numeric value to allow the determination of 'newer' vs. 'older' releases. A 'newer' minor release is indicated by a larger numeric value.
///
[CimField(false, false)]
public virtual ushort MinorVersion
{
get
{
return ushort.Parse(this["MinorVersion"][0], CultureInfo.InvariantCulture);
}
set
{
this.SetOrAddField("MinorVersion",value.ToString(CultureInfo.InvariantCulture));
}
}
///
/// Remove OtherExtendedResourceTypeDescription field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveOtherExtendedResourceTypeDescription()
{
RemoveField("OtherExtendedResourceTypeDescription");
}
///
/// Is true if the field OtherExtendedResourceTypeDescription exists in the current object,
/// otherwise is false.
///
public virtual bool OtherExtendedResourceTypeDescriptionExist
{
get
{
return ContainsField("OtherExtendedResourceTypeDescription");
}
}
///
/// Optional, A string describing the binary format type of the installation package of the software when the ExtendedResourceType property has a value of 1 (Other).
///
[CimField(false, false)]
public virtual string OtherExtendedResourceTypeDescription
{
get
{
return this.GetField("OtherExtendedResourceTypeDescription")[0];
}
set
{
this.SetOrAddField("OtherExtendedResourceTypeDescription",value);
}
}
///
/// Remove ReleaseDate field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveReleaseDate()
{
RemoveField("ReleaseDate");
}
///
/// Is true if the field ReleaseDate exists in the current object,
/// otherwise is false.
///
public virtual bool ReleaseDateExist
{
get
{
return ContainsField("ReleaseDate");
}
}
///
/// Optional, The date the software was released.
///
[CimField(false, false)]
public virtual CimDateTime ReleaseDate
{
get
{
return CimDateTime.Parse(this["ReleaseDate"][0]);
}
set
{
this.SetOrAddField("ReleaseDate",value.ToString());
}
}
///
/// Remove RevisionNumber field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveRevisionNumber()
{
RemoveField("RevisionNumber");
}
///
/// Is true if the field RevisionNumber exists in the current object,
/// otherwise is false.
///
public virtual bool RevisionNumberExist
{
get
{
return ContainsField("RevisionNumber");
}
}
///
/// Optional, The revision or maintenance release component of the software's version information - for example, '3' from version 12.1(3)T. This property is defined as a numeric value to allow the determination of 'newer' vs. 'older' releases. A 'newer' revision is indicated by a larger numeric value.
///
[CimField(false, false)]
public virtual ushort RevisionNumber
{
get
{
return ushort.Parse(this["RevisionNumber"][0], CultureInfo.InvariantCulture);
}
set
{
this.SetOrAddField("RevisionNumber",value.ToString(CultureInfo.InvariantCulture));
}
}
///
/// Remove SerialNumber field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveSerialNumber()
{
RemoveField("SerialNumber");
}
///
/// Is true if the field SerialNumber exists in the current object,
/// otherwise is false.
///
public virtual bool SerialNumberExist
{
get
{
return ContainsField("SerialNumber");
}
}
///
/// Optional, A manufacturer-allocated number used to identify the software.
///
[CimField(false, false)]
public virtual string SerialNumber
{
get
{
return this.GetField("SerialNumber")[0];
}
set
{
this.SetOrAddField("SerialNumber",value);
}
}
///
/// Remove TargetOSTypes field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveTargetOSTypes()
{
RemoveField("TargetOSTypes");
}
///
/// Is true if the field TargetOSTypes exists in the current object,
/// otherwise is false.
///
public virtual bool TargetOSTypesExist
{
get
{
return ContainsField("TargetOSTypes");
}
}
///
/// Optional, The TargetOSTypes property specifies the target operating systems supported by the software. When the target operating system of the software is not listed in the enumeration values, TargetOperatingSystems[] property should be used to specify the target operating system.
///
[CimField(false, false)]
public virtual ushort[] TargetOSTypes
{
get
{
return CimTypesUtils.StringArrayToArray(this["TargetOSTypes"]);
}
set
{
string[] arr = CimTypesUtils.ArrayToStringArray(value);
this.SetOrAddField("TargetOSTypes", arr);
}
}
///
/// Remove TargetOperatingSystems field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveTargetOperatingSystems()
{
RemoveField("TargetOperatingSystems");
}
///
/// Is true if the field TargetOperatingSystems exists in the current object,
/// otherwise is false.
///
public virtual bool TargetOperatingSystemsExist
{
get
{
return ContainsField("TargetOperatingSystems");
}
}
///
/// Optional, Specifies the target operating systems of the software. This property should be used when a target operating system is not listed in the TargetOSTypes array values.
///
[CimField(false, false)]
public virtual string[] TargetOperatingSystems
{
get
{
return CimTypesUtils.StringArrayToArray(this["TargetOperatingSystems"]);
}
set
{
string[] arr = CimTypesUtils.ArrayToStringArray(value);
this.SetOrAddField("TargetOperatingSystems", arr);
}
}
///
/// Remove TargetTypes field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveTargetTypes()
{
RemoveField("TargetTypes");
}
///
/// Is true if the field TargetTypes exists in the current object,
/// otherwise is false.
///
public virtual bool TargetTypesExist
{
get
{
return ContainsField("TargetTypes");
}
}
///
/// Optional, An array of strings that describes the compatible installer(s). The purpose of the array elements is to establish compatibility between a SoftwareIdentity and a SoftwareInstallationService that can install the SoftwareIdentity by comparing the values of the array elements of this property to the values of SoftwareInstallationServiceCapabilities.SupportedTargetTypes[] property's array elements.
///
[CimField(false, false)]
public virtual string[] TargetTypes
{
get
{
return CimTypesUtils.StringArrayToArray(this["TargetTypes"]);
}
set
{
string[] arr = CimTypesUtils.ArrayToStringArray(value);
this.SetOrAddField("TargetTypes", arr);
}
}
///
/// Remove VersionString field.
/// Note: This method will succeed only if this field is optional in the concrete object.
///
public virtual void RemoveVersionString()
{
RemoveField("VersionString");
}
///
/// Is true if the field VersionString exists in the current object,
/// otherwise is false.
///
public virtual bool VersionStringExist
{
get
{
return ContainsField("VersionString");
}
}
///
/// Optional, A string representing the complete software version information - for example, '12.1(3)T'. This string and the numeric major/minor/revision/build properties are complementary. Since vastly different representations and semantics exist for versions, it is not assumed that one representation is sufficient to permit a client to perform computations (i.e., the values are numeric) and a user to recognize the software's version (i.e., the values are understandable and readable). Hence, both numeric and string representations of version are provided.
///
[CimField(false, false)]
public virtual string VersionString
{
get
{
return this.GetField("VersionString")[0];
}
set
{
this.SetOrAddField("VersionString",value);
}
}
///
/// Enumerate instances of CIM_SoftwareIdentity class at an endpoint.
///
/// WS-Management client
/// Keys for selecting the instances
/// Collection of CIM_SoftwareIdentity objects
public static new Collection Enumerate(IWSManClient client, CimBase.CimKeys cimKeys)
{
List ret = CimBase.Enumerate(client, cimKeys);
return new Collection(ret);
}
///
/// Enumerate instances of CIM_SoftwareIdentity class at an endpoint.
///
/// WS-Management client
/// Collection of CIM_SoftwareIdentity objects
public static new Collection Enumerate(IWSManClient client)
{
List ret = CimBase.Enumerate(client);
return new Collection(ret);
}
///
/// Delete the instance of CIM_SoftwareIdentity if it is singular.
/// Note: This method will succeed only if a single instance of the class exists.
///
/// WS-Management client
public static new void Delete(IWSManClient client)
{
CimBase.Delete(client);
}
///
/// Represents the keys of the CIM_SoftwareIdentity class.
///
public new class CimKeys : CIM_LogicalElement.CimKeys
{
///
/// Key, Required, Within the scope of the instantiating Namespace, InstanceID opaquely and uniquely identifies an instance of this class. In order to ensure uniqueness within the NameSpace, the value of InstanceID SHOULD be constructed using the following 'preferred' algorithm:
/// <OrgID>:<LocalID>
/// Where <OrgID> and <LocalID> are separated by a colon ':', and where <OrgID> MUST include a copyrighted, trademarked or otherwise unique name that is owned by the business entity creating/defining the InstanceID, or is a registered ID that is assigned to the business entity by a recognized global authority (This is similar to the <Schema Name>_<Class Name> structure of Schema class names.) In addition, to ensure uniqueness <OrgID> MUST NOT contain a colon (':'). When using this algorithm, the first colon to appear in InstanceID MUST appear between <OrgID> and <LocalID>.
/// <LocalID> is chosen by the business entity and SHOULD not be re-used to identify different underlying (real-world) elements. If the above 'preferred' algorithm is not used, the defining entity MUST assure that the resultant InstanceID is not re-used across any InstanceIDs produced by this or other providers for this instance's NameSpace.
/// For DMTF defined instances, the 'preferred' algorithm MUST be used with the <OrgID> set to 'CIM'.
///
public virtual string InstanceID
{
get
{
return GetKey("InstanceID");
}
set
{
SetOrAddKey("InstanceID", value);
}
}
}
}
}