Ejemplo n.º 1
0
 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();
             }
         }
     }
 }
Ejemplo n.º 2
0
 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;
     }
 }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
 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;
     }
 }
Ejemplo n.º 5
0
 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;
             }
         }
     }
 }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
		public CimSyncAction()
		{
			this.completeEvent = new ManualResetEventSlim(false);
			this.responseType = CimResponseType.None;
		}
Ejemplo n.º 8
0
 public CimSyncAction()
 {
     this.completeEvent = new ManualResetEventSlim(false);
     this.responseType  = CimResponseType.None;
 }