using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Security;
using System.Text;
namespace Intel.Management.Wsman
{
///
/// Represents a connection to a Wsman capable service
///
[InterfaceType(ComInterfaceType.InterfaceIsDual)]
[Guid("9472EA99-DA1D-41a7-BCCE-F77C0916ED52")]
[ComVisible(true)]
public interface IWsmanConnection : IDisposable
{
///
/// Gets or sets the username the connection will use to authenticate
///
string Username { get; set;}
///
/// Gets or sets the password the connection will use to authenticate
///
SecureString Password { get;set;}
///
/// Gets or sets the address that will be associtated with this connection
///
string Address { get;set;}
///
/// Gets or sets the authentication scheme the connection will use
///
string AuthenticationScheme { get; set; }
///
/// Gets or sets the connections options
///
IWsmanConnectionOptions Options { get; }
///
/// Gets the last error that occured when using the connection
///
IWsmanFault LastError { get; }
///
/// Tests the connection to see if the endpoint supports Wsman
///
IManagedInstance Identify();
///
/// Creates a reference to a object supported by a Wsman Service
///
/// A string describing the object reference
/// A IManagedReference pointing to the object
IManagedReference NewReference(string resourceUri);
///
/// Creates a new representation of a CIM object that can be exchanged with the server
///
/// A string describing the instance
/// A IManagedInstance representing the resource
IManagedInstance NewInstance(string resourceUri);
///
/// Executes a simple SQL type query
///
///
/// An IWsmanEnumeration containing resulting items
IWsmanEnumeration ExecQuery(string queryString);
///
/// Resolves a class name prefix to a full resourceUri
///
///
/// The resoved resourceUri
string ResolveNamespace(string prefix);
///
/// Registers a namespaceUri for a class name prefix
///
///
///
void RegisterNamespace(string prefix, string ns);
///
/// Closes the connection
///
void Close();
}
}