// Token: 0x06001F07 RID: 7943 RVA: 0x00076EBC File Offset: 0x000750BC
        public void GetDlpPolicyTipsCommand(GetDlpPolicyTipsRequest request)
        {
            if (Interlocked.Increment(ref GetDlpPolicyTipsAsyncResult.PendingRequestCount) > 50)
            {
                Interlocked.Decrement(ref GetDlpPolicyTipsAsyncResult.PendingRequestCount);
                this.Response = GetDlpPolicyTipsResponse.TooManyPendingRequestResponse;
                base.Callback(this);
                return;
            }
            CallContext callContext = CallContext.Current;

            ThreadPool.QueueUserWorkItem(delegate(object obj)
            {
                try
                {
                    OwaDiagnostics.SendWatsonReportsForGrayExceptions(delegate()
                    {
                        CallContext.SetCurrent(callContext);
                        this.Response = new GetDlpPolicyTipsCommand(callContext, request).Execute();
                        this.Callback(this);
                    });
                }
                catch (GrayException arg)
                {
                    ExTraceGlobals.OwaRulesEngineTracer.TraceError <GrayException>(0L, "GetDlpPolicyTipsAsyncResult GrayException occured while evaluating for Dlp.  exception {0}", arg);
                }
                finally
                {
                    CallContext.SetCurrent(null);
                    Interlocked.Decrement(ref GetDlpPolicyTipsAsyncResult.PendingRequestCount);
                }
            }, base.AsyncState);
        }
 public static GetDlpPolicyTipsResponse GetResponseToPingRequest()
 {
     if (GetDlpPolicyTipsResponse.responseToPingRequest == null)
     {
         GetDlpPolicyTipsResponse getDlpPolicyTipsResponse = new GetDlpPolicyTipsResponse(EvaluationResult.Success);
         getDlpPolicyTipsResponse.Matches                  = new DlpPolicyMatchDetail[2];
         getDlpPolicyTipsResponse.Matches[0]               = new DlpPolicyMatchDetail();
         getDlpPolicyTipsResponse.Matches[0].Action        = DlpPolicyTipAction.NotifyOnly;
         getDlpPolicyTipsResponse.Matches[0].AttachmentIds = new AttachmentIdType[]
         {
             new AttachmentIdType(Guid.NewGuid().ToString()),
             new AttachmentIdType(Guid.NewGuid().ToString())
         };
         getDlpPolicyTipsResponse.Matches[1]               = new DlpPolicyMatchDetail();
         getDlpPolicyTipsResponse.Matches[1].Action        = DlpPolicyTipAction.RejectUnlessSilentOverride;
         getDlpPolicyTipsResponse.Matches[1].AttachmentIds = new AttachmentIdType[]
         {
             new AttachmentIdType(Guid.NewGuid().ToString()),
             new AttachmentIdType(Guid.NewGuid().ToString())
         };
         GetDlpPolicyTipsResponse.responseToPingRequest = getDlpPolicyTipsResponse;
     }
     return(GetDlpPolicyTipsResponse.responseToPingRequest);
 }