internal void WriteErrorCallbackInternal( CimOperationCallbackProcessingContext callbackProcessingContext, MI_Operation operationHandle, MI_Instance instanceHandle, out MI_OperationCallback_ResponseType response) { response = MI_OperationCallback_ResponseType.Yes; if (_writeErrorCallback != null) { Debug.Assert(instanceHandle != null, "Caller should verify instance != null"); CimInstance cimInstance = null; try { if (!instanceHandle.IsNull) { cimInstance = new CimInstance(instanceHandle.Clone()); var callbacksReceiverBase = (CimAsyncCallbacksReceiverBase)callbackProcessingContext.ManagedOperationContext; CimResponseType userResponse = CimResponseType.None; callbacksReceiverBase.CallIntoUserCallback( callbackProcessingContext, delegate { userResponse = _writeErrorCallback(cimInstance); }); response = (MI_OperationCallback_ResponseType)userResponse; } } finally { if (cimInstance != null) { cimInstance.Dispose(); } } } }
internal void PromptUserCallbackInternal(OperationCallbackProcessingContext callbackProcessingContext, OperationHandle operationHandle, string message, MiPromptType promptType, out MIResponseType response) { response = MIResponseType.MIResponseTypeYes; if (this._promptUserCallback != null) { //CimAsyncCallbacksReceiverBase managedOperationContext = (CimAsyncCallbacksReceiverBase)callbackProcessingContext.ManagedOperationContext; CimResponseType userResponse = CimResponseType.None; //managedOperationContext.CallIntoUserCallback(callbackProcessingContext, () => userResponse = this._promptUserCallback(message, (CimPromptType)promptType), false, false); response = (MIResponseType)userResponse; } }
private CimResponseType PromptUserCallback(string message, CimPromptType promptType) { message = this.JobContext.PrependComputerNameToMessage(message); Exception exceptionThrownOnCmdletThread = null; CimResponseType result = CimResponseType.No; _userWasPromptedForContinuationOfProcessing = true; switch (promptType) { case CimPromptType.Critical: this.ExceptionSafeWrapper( delegate { if (this.ShouldContinue(message, null, out exceptionThrownOnCmdletThread)) { result = CimResponseType.Yes; } else { result = CimResponseType.No; } }); break; case CimPromptType.Normal: this.ExceptionSafeWrapper( delegate { result = this.ShouldProcess(message, null, null); }); break; default: Dbg.Assert(false, "Unrecognized CimPromptType"); break; } if (exceptionThrownOnCmdletThread != null) { result = CimResponseType.NoToAll; } if ((result == CimResponseType.Yes) || (result == CimResponseType.YesToAll)) { _userRespondedYesToAtLeastOneShouldProcess = true; } return(result); }
internal void PromptUserCallbackInternal( CimOperationCallbackProcessingContext callbackProcessingContext, MI_Operation operationHandle, string message, MI_PromptType promptType, out MI_OperationCallback_ResponseType response) { response = MI_OperationCallback_ResponseType.Yes; if (_promptUserCallback != null) { var callbacksReceiverBase = (CimAsyncCallbacksReceiverBase)callbackProcessingContext.ManagedOperationContext; CimResponseType userResponse = CimResponseType.None; callbacksReceiverBase.CallIntoUserCallback( callbackProcessingContext, delegate { userResponse = _promptUserCallback(message, (CimPromptType)promptType); }); response = (MI_OperationCallback_ResponseType)userResponse; } }
internal void WriteErrorCallbackInternal(OperationCallbackProcessingContext callbackProcessingContext, OperationHandle operationHandle, InstanceHandle instanceHandle, out MIResponseType response) { response = MIResponseType.MIResponseTypeYes; if (this._writeErrorCallback != null) { CimInstance cimInstance = null; using (cimInstance) { if (instanceHandle != null) { cimInstance = new CimInstance(instanceHandle, null); //CimAsyncCallbacksReceiverBase managedOperationContext = (CimAsyncCallbacksReceiverBase)callbackProcessingContext.ManagedOperationContext; CimResponseType userResponse = CimResponseType.None; //managedOperationContext.CallIntoUserCallback(callbackProcessingContext, () => userResponse = this._writeErrorCallback(cimInstance), false, false); response = (MIResponseType)userResponse; } } } }
internal bool ShouldProcess() { Dbg.Assert(this.MethodSubject != null, "MethodSubject property should be initialized before starting main job processing"); if (!this.JobContext.CmdletInvocationContext.CmdletDefinitionContext.ClientSideShouldProcess) { return(true); } bool shouldProcess; if (!this.JobContext.SupportsShouldProcess) { shouldProcess = true; this.WriteVerboseStartOfCimOperation(); } else { string target = this.MethodSubject; string action = this.MethodName; CimResponseType cimResponseType = this.ShouldProcess(target, action); switch (cimResponseType) { case CimResponseType.Yes: case CimResponseType.YesToAll: shouldProcess = true; break; default: shouldProcess = false; break; } } if (!shouldProcess) { this.SetCompletedJobState(JobState.Completed, null); } return(shouldProcess); }
public CimSyncAction() { this.completeEvent = new ManualResetEventSlim(false); this.responseType = CimResponseType.None; }
public CimSyncAction() { this.completeEvent = new ManualResetEventSlim(false); this.responseType = CimResponseType.None; }