93 lines
3.5 KiB
C#
93 lines
3.5 KiB
C#
// Copyright (C) Intel Corporation, 2010 All Rights Reserved.
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Runtime.InteropServices;
|
|
using System.Text;
|
|
|
|
namespace Intel.Management.Wsman
|
|
{
|
|
/// <summary>
|
|
/// Represents a reference to a CIM resource
|
|
/// </summary>
|
|
[InterfaceType(ComInterfaceType.InterfaceIsDual)]
|
|
[Guid("2C3278AB-3CDC-4921-8854-6F437C606A4B")]
|
|
[ComVisible(true)]
|
|
public interface IManagedReference
|
|
{
|
|
/// <summary>
|
|
/// Gets the connection object associated with the reference
|
|
/// </summary>
|
|
IWsmanConnection Connection {get;}
|
|
/// <summary>
|
|
/// Gets resourceUri of the reference
|
|
/// </summary>
|
|
string ResourceUri {get;}
|
|
/// <summary>
|
|
/// Get The simple name of the resource
|
|
/// </summary>
|
|
string SimpleName { get; }
|
|
/// <summary>
|
|
/// Gets the address of the reference
|
|
/// </summary>
|
|
string Address {get;}
|
|
/// <summary>
|
|
/// Gets the XML representation of the reference
|
|
/// </summary>
|
|
string Xml {get;set;}
|
|
/// <summary>
|
|
/// Adds a selector that be used to find instances
|
|
/// </summary>
|
|
/// <param name="name">The name of the selector</param>
|
|
/// <param name="value">The value of the selector</param>
|
|
void AddSelector(string name, object value);
|
|
/// <summary>
|
|
/// Creates input parameters for invoking methods
|
|
/// </summary>
|
|
/// <param name="methodName">The name of the method to create parameters for</param>
|
|
/// <return>Returns an instance that parameters can be added to</return>
|
|
IManagedInstance CreateMethodInput(string methodName);
|
|
/// <summary>
|
|
/// Gets instance data from the server
|
|
/// </summary>
|
|
/// <return>An IManagedInstance object that reference represents</return>
|
|
IManagedInstance Get();
|
|
/// <summary>
|
|
/// Puts (updates) an instance data associated with the reference
|
|
/// </summary>
|
|
/// <param name="input">The instance data</param>
|
|
/// <return>Returns the updated instance</return>
|
|
IManagedInstance Put(object input);
|
|
/// <summary>
|
|
/// Deletes the referenced object from the server
|
|
/// </summary>
|
|
void Delete();
|
|
/// <summary>
|
|
/// Enumerates instances associated with the reference
|
|
/// </summary>
|
|
/// <param name="input">Optional input filter</param>
|
|
/// <param name="mode">Optional enumeration mode</param>
|
|
/// <return>An enumeration object</return>
|
|
IWsmanEnumeration Enumerate
|
|
([Optional, DefaultParameterValue(null)]object input,
|
|
[Optional, DefaultParameterValue(null)]string mode);
|
|
/// <summary>
|
|
/// Invokes a method
|
|
/// </summary>
|
|
/// <param name="input">Method parameters</param>
|
|
/// <return>The method output parameters</return>
|
|
IManagedInstance InvokeMethod(object input);
|
|
/// <summary>
|
|
/// Subscribes to receive events emitted by the object
|
|
/// </summary>
|
|
/// <param name="mode">The delivery mode</param>
|
|
/// <param name="toAddress">The address to deliver events to</param>
|
|
/// <return>A reference to the subscription service</return>
|
|
IManagedReference Subscribe(string mode, string toAddress);
|
|
/// <summary>
|
|
/// End subscribing to events
|
|
/// </summary>
|
|
void Unsubscribe();
|
|
|
|
}
|
|
}
|