//----------------------------------------------------------------------------
//
// Copyright (c) Intel Corporation, 2003 - 2012 All Rights Reserved.
//
// File: CIM_SoftwareFeature.cs
//
// Contents: The CIM_SoftwareFeature class defines a particular function or capability of a product or application system. This class captures a level of granularity describing a unit of installation, rather than the units that reflect how the product is built or packaged. The latter detail is captured using a CIM_SoftwareElement class. When a SoftwareFeature can exist on multiple platforms or operating systems (for example, a client component of a three tiered client/server application that runs on Solaris, Windows NT, and Windows 95), the Feature is a collection of all the SoftwareElements for these different platforms. In this case, the users of the model must be aware of this situation since typically they will be interested in a sub-collection of the SoftwareElements required for a particular platform.
// SoftwareFeatures are always defined in the context of a CIM_Product, using the CIM_ProductSoftwareFeature association. Features are delivered through Products. Optionally, SoftwareFeatures from one or more Products can be organized into ApplicationSystems using the CIM_ApplicationSystemSoftwareFeature association.
// This file was automatically generated from CIM_SoftwareFeature.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
{
///
///The CIM_SoftwareFeature class defines a particular function or capability of a product or application system. This class captures a level of granularity describing a unit of installation, rather than the units that reflect how the product is built or packaged. The latter detail is captured using a CIM_SoftwareElement class. When a SoftwareFeature can exist on multiple platforms or operating systems (for example, a client component of a three tiered client/server application that runs on Solaris, Windows NT, and Windows 95), the Feature is a collection of all the SoftwareElements for these different platforms. In this case, the users of the model must be aware of this situation since typically they will be interested in a sub-collection of the SoftwareElements required for a particular platform.
///SoftwareFeatures are always defined in the context of a CIM_Product, using the CIM_ProductSoftwareFeature association. Features are delivered through Products. Optionally, SoftwareFeatures from one or more Products can be organized into ApplicationSystems using the CIM_ApplicationSystemSoftwareFeature association.
///
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_SoftwareFeature")]
[System.Xml.Serialization.XmlRootAttribute("CIM_SoftwareFeature", Namespace="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_SoftwareFeature", IsNullable=false)]
public class CIM_SoftwareFeature : CIM_LogicalElement
{
///
/// Default constructor.
///
public CIM_SoftwareFeature() :base()
{
}
///
/// Constructor that recieves an xml string for deserialization.
///
/// xml string to deserialize
public CIM_SoftwareFeature(string xml): base((IWSManClient)null)
{
this.Deserialize(xml);
}
///
/// Constructor which recieves a Ws-Management client object.
///
/// Ws-Management client
public CIM_SoftwareFeature(IWSManClient client): base(client)
{
}
///
/// Key, Required, The scoping Product's identification.
///
[CimField(true, true)]
public virtual string IdentifyingNumber
{
get
{
return this.GetField("IdentifyingNumber")[0];
}
set
{
this.SetOrAddField("IdentifyingNumber",value);
}
}
///
/// Key, Required, The Name property defines the unique label by which the SoftwareFeature is identified. This label should be a human-readable name that uniquely identifies the element in the context of the element's namespace.
///
[CimField(true, true)]
public override string Name
{
get
{
return this.GetField("Name")[0];
}
set
{
this.SetOrAddField("Name",value);
}
}
///
/// Key, Required, The scoping Product's commonly used name.
///
[CimField(true, true)]
public virtual string ProductName
{
get
{
return this.GetField("ProductName")[0];
}
set
{
this.SetOrAddField("ProductName",value);
}
}
///
/// Key, Required, The scoping Product's supplier.
///
[CimField(true, true)]
public virtual string Vendor
{
get
{
return this.GetField("Vendor")[0];
}
set
{
this.SetOrAddField("Vendor",value);
}
}
///
/// Key, Required, The scoping Product's version.
///
[CimField(true, true)]
public virtual string Version
{
get
{
return this.GetField("Version")[0];
}
set
{
this.SetOrAddField("Version",value);
}
}
///
/// Enumerate instances of CIM_SoftwareFeature class at an endpoint.
///
/// WS-Management client
/// Keys for selecting the instances
/// Collection of CIM_SoftwareFeature 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_SoftwareFeature class at an endpoint.
///
/// WS-Management client
/// Collection of CIM_SoftwareFeature objects
public static new Collection Enumerate(IWSManClient client)
{
List ret = CimBase.Enumerate(client);
return new Collection(ret);
}
///
/// Delete the instance of CIM_SoftwareFeature 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_SoftwareFeature class.
///
public new class CimKeys : CIM_LogicalElement.CimKeys
{
///
/// Key, Required, The scoping Product's identification.
///
public virtual string IdentifyingNumber
{
get
{
return GetKey("IdentifyingNumber");
}
set
{
SetOrAddKey("IdentifyingNumber", value);
}
}
///
/// Key, Required, The Name property defines the unique label by which the SoftwareFeature is identified. This label should be a human-readable name that uniquely identifies the element in the context of the element's namespace.
///
public virtual string Name
{
get
{
return GetKey("Name");
}
set
{
SetOrAddKey("Name", value);
}
}
///
/// Key, Required, The scoping Product's commonly used name.
///
public virtual string ProductName
{
get
{
return GetKey("ProductName");
}
set
{
SetOrAddKey("ProductName", value);
}
}
///
/// Key, Required, The scoping Product's supplier.
///
public virtual string Vendor
{
get
{
return GetKey("Vendor");
}
set
{
SetOrAddKey("Vendor", value);
}
}
///
/// Key, Required, The scoping Product's version.
///
public virtual string Version
{
get
{
return GetKey("Version");
}
set
{
SetOrAddKey("Version", value);
}
}
}
}
}