77 lines
2.6 KiB
C#

using System.Collections;
using System.Runtime.InteropServices;
namespace Intel.Management.Wsman
{
/// <summary>
/// Represents a late-binding item return from a WsMan service. The item may represent an object, property value, and array or, object reference.
/// </summary>
[InterfaceType(ComInterfaceType.InterfaceIsDual)]
[Guid("C953D6FB-CB1A-4403-884F-09CF5D75C7E9")]
[ComVisible(true)]
public interface IWsmanItem
{
/// <summary>
/// Gets a value indicating whether the item is an array of items
/// </summary>
bool IsArray { get; }
/// <summary>
/// Gets a value indicating whether the item is an Object
/// </summary>
bool IsObject { get; }
/// <summary>
/// Gets a value indicating whether the item a reference to an Object
/// </summary>
bool IsRef { get; }
/// <summary>
/// Gets a value indicating whether the item is a string
/// </summary>
bool IsString { get; }
/// <summary>
/// Gets a value indicating whether the item contains both an object and its reference
/// </summary>
bool IsObjectAndRef { get; }
/// <summary>
/// Gets a value indicating whether the item is null
/// </summary>
bool IsNull { get; }
/// <summary>
/// Gets a value indicating whether the item is a strongly typed object
/// </summary>
bool IsTyped { get; }
/// <summary>
/// Gets the number of subitems contained in the item
/// </summary>
int Count { get; }
/// <summary>
/// Gets a value indicating whether the item is of a specific type
/// </summary>
bool IsA(string typeName);
/// <summary>
/// Returns the object as a strongly typed object
/// </summary>
object TypedObject { get; }
/// <summary>
/// Gets the object representation of the item
/// </summary>
IManagedInstance Object { get; }
/// <summary>
/// Gets the reference representation of the item
/// </summary>
IManagedReference Ref { get; }
/// <summary>
/// Gets a subitem from for an item array
/// </summary>
IWsmanItem Item(int index);
/// <summary>
/// Gets the string representation of the item
/// </summary>
string ToString();
/// <summary>
/// Gets an enumerator for all the subitems
/// </summary>
[DispId(-4)]
IEnumerator GetEnumerator();
}
}