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