mirror of
https://github.com/aphrody-labs/PowerShell.git
synced 2026-10-17 12:45:47 +00:00
This commit uses psl-monad branch source-depot 7209cb9 And corresponds to [SD:688741]
40 lines
1.7 KiB
C#
40 lines
1.7 KiB
C#
/*============================================================================
|
|
* Copyright (C) Microsoft Corporation, All rights reserved.
|
|
*============================================================================
|
|
*/
|
|
|
|
using System;
|
|
using System.Diagnostics;
|
|
using Microsoft.Management.Infrastructure.Options;
|
|
using Microsoft.Management.Infrastructure.Options.Internal;
|
|
|
|
namespace Microsoft.Management.Infrastructure.Internal.Operations
|
|
{
|
|
internal class CimAsyncInstanceObservable : CimAsyncObservableBase<CimAsyncInstanceObserverProxy, CimInstance>
|
|
{
|
|
private readonly bool _shortenLifetimeOfResults;
|
|
private readonly Guid _CimSessionInstanceID;
|
|
private readonly string _CimSessionComputerName;
|
|
|
|
internal CimAsyncInstanceObservable(
|
|
CimOperationOptions operationOptions,
|
|
Guid cimSessionInstanceID,
|
|
string cimSessionComputerName,
|
|
Func<CimAsyncCallbacksReceiverBase, Native.OperationHandle> operationStarter)
|
|
: base(operationOptions, operationStarter)
|
|
{
|
|
this._shortenLifetimeOfResults = operationOptions.GetShortenLifetimeOfResults();
|
|
this._CimSessionInstanceID = cimSessionInstanceID;
|
|
this._CimSessionComputerName = cimSessionComputerName;
|
|
}
|
|
|
|
internal override CimAsyncInstanceObserverProxy CreateObserverProxy(IObserver<CimInstance> observer)
|
|
{
|
|
Debug.Assert(observer != null, "Caller should verify observer != null");
|
|
return new CimAsyncInstanceObserverProxy(observer,
|
|
this._CimSessionInstanceID,
|
|
this._CimSessionComputerName,
|
|
_shortenLifetimeOfResults);
|
|
}
|
|
}
|
|
} |