예제 #1
0
 public void OnPrintFailed(PrintJobId printJobId, IPrintErrorResult printResponse)
 {
     if (null != this.onPrintFailure)
     {
         this.onPrintFailure(printResponse);
     }
 }
예제 #2
0
 public void OnPrintCompleted(PrintJobId printJobId, IPrintSuccessResult printResponse)
 {
     if (null != this.onPrintSuccess)
     {
         this.onPrintSuccess(printResponse);
     }
 }
예제 #3
0
 void IPrintManagerCallback.NotifySuccess(PrintJobId printJobId)
 {
     this.handler.OnPrintCompleted(printJobId, new PrintSuccessResult(printJobId)
     {
         PrintedDateTime = DateTimeOffset.Now, Status = PrintStatus.Success
     });
 }
예제 #4
0
 void IPrintManagerCallback.NotifyFailure(PrintJobId printJobId, int reason, string reasonCode)
 {
     this.handler.OnPrintFailed(printJobId, new PrintErrorResult(printJobId)
     {
         Status = PrintStatus.Failed, ReasonCode = reasonCode, Reason = (FailReason)reason
     });
 }
예제 #5
0
 public void OnPrintCompleted(PrintJobId printJobId, IPrintSuccessResult printResponse)
 {
     if (null != this.onPrintSuccess)
     {
         this.onPrintSuccess(printResponse);
     }
 }
        public AutoResetEvent AddNotification(PrintJobId printJobId)
        {
            AutoResetEvent resetEvent = new AutoResetEvent(false);

            this.printJobResetEvent[printJobId] = resetEvent;
            return(resetEvent);
        }
예제 #7
0
 public void OnPrintFailed(PrintJobId printJobId, IPrintErrorResult printResponse)
 {
     if (null != this.onPrintFailure)
     {
         this.onPrintFailure(printResponse);
     }
 }
 public void OnPrintFailed(PrintJobId printJobId, IPrintErrorResult printResponse)
 {
     if (false == this.NotifyEvent(printJobId, printResponse))
     {
         if (false == this.PublishFailedEvent(printJobId, printResponse))
         {
             this.notify.NotifyHandlerNotFound(printResponse);
         }
     }
 }
 public void OnPrintCompleted(PrintJobId printJobId, IPrintSuccessResult printResponse)
 {
     if (false == this.NotifyEvent(printJobId, printResponse))
     {
         if (false == this.PublishSuccessEvent(printJobId, printResponse))
         {
             this.notify.NotifyHandlerNotFound(printResponse);
         }
     }
 }
        public IPrintResult GetResponse(PrintJobId printJobId)
        {
            IPrintResult result;
            if (false == this.resultDictionary.TryRemove(printJobId, out result))
            {
                result = new PrintResult(printJobId) { Status = PrintStatus.Pending };
            }

            return result;
        }
 public void OnPrintCompleted(PrintJobId printJobId, IPrintSuccessResult printResponse)
 {
     if (false == this.NotifyEvent(printJobId, printResponse))
     {
         if (false == this.PublishSuccessEvent(printJobId, printResponse))
         {
             this.notify.NotifyHandlerNotFound(printResponse);
         }
     }
 }
 public void OnPrintFailed(PrintJobId printJobId, IPrintErrorResult printResponse)
 {
     if (false == this.NotifyEvent(printJobId, printResponse))
     {
         if (false == this.PublishFailedEvent(printJobId, printResponse))
         {
             this.notify.NotifyHandlerNotFound(printResponse);
         }
     }
 }
예제 #13
0
 public void OnPrintFailed(PrintJobId printJobId, IPrintErrorResult printResponse)
 {
     PrintResponse printServiceResponse;
     if (true == this.printResponseDictionary.TryRemove(printJobId, out printServiceResponse))
     {
         printServiceResponse.OnPrintFailed(printJobId, printResponse);
     }
     else
     {
         this.NotifyHandlerNotFound(printResponse);
     }
 }
        protected override bool TryGetNotificationHandler(PrintJobId printJobId, out IPrintManagerNotificationHandler handler)
        {
            bool itemFound = false;
            handler = null;
            if (this.printJobIds.ContainsKey(printJobId))
            {
                handler = this.handler;
                itemFound = true;
            }

            return itemFound;
        }
예제 #15
0
        protected override bool TryGetNotificationHandler(PrintJobId printJobId, out IPrintManagerNotificationHandler handler)
        {
            bool itemFound = false;

            handler = null;
            if (this.printJobIds.ContainsKey(printJobId))
            {
                handler   = this.handler;
                itemFound = true;
            }

            return(itemFound);
        }
예제 #16
0
        public void OnPrintFailed(PrintJobId printJobId, IPrintErrorResult printResponse)
        {
            PrintResponse printServiceResponse;

            if (true == this.printResponseDictionary.TryRemove(printJobId, out printServiceResponse))
            {
                printServiceResponse.OnPrintFailed(printJobId, printResponse);
            }
            else
            {
                this.NotifyHandlerNotFound(printResponse);
            }
        }
        private bool PublishFailedEvent(PrintJobId printJobId, IPrintErrorResult result)
        {
            bool eventPublished = false;
            IPrintManagerNotificationHandler handler;

            if (this.TryGetNotificationHandler(printJobId, out handler))
            {
                handler.OnPrintFailed(printJobId, result);
                eventPublished = true;
            }

            return(eventPublished);
        }
        private bool PublishSuccessEvent(PrintJobId printJobId, IPrintSuccessResult result)
        {
            bool eventPublished = false;
            IPrintManagerNotificationHandler handler;

            if (this.TryGetNotificationHandler(printJobId, out handler))
            {
                handler.OnPrintCompleted(printJobId, result);
                eventPublished = true;
            }

            return(eventPublished);
        }
        private bool NotifyEvent(PrintJobId printJobId, IPrintResult result)
        {
            bool eventNotified = false;
            AutoResetEvent resetEvent;
            if (this.printJobResetEvent.TryGetValue(printJobId, out resetEvent))
            {
                eventNotified = true;
                this.resultDictionary[printJobId] = result;
                resetEvent.Set();
            }

            return eventNotified;
        }
        public IPrintResult GetResponse(PrintJobId printJobId)
        {
            IPrintResult result;

            if (false == this.resultDictionary.TryRemove(printJobId, out result))
            {
                result = new PrintResult(printJobId)
                {
                    Status = PrintStatus.Pending
                };
            }

            return(result);
        }
        private bool NotifyEvent(PrintJobId printJobId, IPrintResult result)
        {
            bool           eventNotified = false;
            AutoResetEvent resetEvent;

            if (this.printJobResetEvent.TryGetValue(printJobId, out resetEvent))
            {
                eventNotified = true;
                this.resultDictionary[printJobId] = result;
                resetEvent.Set();
            }

            return(eventNotified);
        }
 public void AddSubscription(PrintJobId printJobId, IPrintManagerNotificationHandler printManagerNotificationHandler)
 {
     this.AddSubscriptionImpl(printJobId, printManagerNotificationHandler);
 }
예제 #23
0
 void IPrintManagerCallback.NotifyFailure(PrintJobId printJobId, int reason, string reasonCode)
 {
     this.handler.OnPrintFailed(printJobId, new PrintErrorResult(printJobId) { Status = PrintStatus.Failed, ReasonCode = reasonCode, Reason = (FailReason)reason });
 }
 protected abstract void RemoveSubscriptionImpl(PrintJobId printJobId);
 public void RemoveSubscription(PrintJobId printJobId)
 {
     this.RemoveSubscriptionImpl(printJobId);
 }
 public void AddSubscription(PrintJobId printJobId, IPrintManagerNotificationHandler printManagerNotificationHandler)
 {
     this.AddSubscriptionImpl(printJobId, printManagerNotificationHandler);
 }
예제 #27
0
 internal PrintResponse(PrintJobId printJobId, Action<IPrintSuccessResult> onPrintSuccess, Action<IPrintErrorResult> onPrintFailure)
 {
     this.PrintJobId = printJobId;
     this.onPrintSuccess = onPrintSuccess;
     this.onPrintFailure = onPrintFailure;
 }
 public void RemoveSubscription(PrintJobId printJobId)
 {
     this.RemoveSubscriptionImpl(printJobId);
 }
 protected abstract void AddSubscriptionImpl(PrintJobId printJobId, IPrintManagerNotificationHandler printManagerNotificationHandler);
 protected abstract void RemoveSubscriptionImpl(PrintJobId printJobId);
예제 #31
0
 internal PrintSuccessResult(PrintJobId printJobId)
     : base(printJobId)
 {
 }
        private bool PublishFailedEvent(PrintJobId printJobId, IPrintErrorResult result)
        {
            bool eventPublished = false;
            IPrintManagerNotificationHandler handler;
            if (this.TryGetNotificationHandler(printJobId, out handler))
            {
                handler.OnPrintFailed(printJobId, result);
                eventPublished = true;
            }

            return eventPublished;
        }
예제 #33
0
        protected override void RemoveSubscriptionImpl(PrintJobId printJobId)
        {
            byte ret;

            this.printJobIds.TryRemove(printJobId, out ret);
        }
예제 #34
0
 protected override void AddSubscriptionImpl(PrintJobId printJobId, IPrintManagerNotificationHandler printManagerNotificationHandler)
 {
     this.printJobIds[printJobId] = 0;
 }
 public AutoResetEvent AddNotification(PrintJobId printJobId)
 {
     AutoResetEvent resetEvent = new AutoResetEvent(false);
     this.printJobResetEvent[printJobId] = resetEvent;
     return resetEvent;
 }
 protected abstract void AddSubscriptionImpl(PrintJobId printJobId, IPrintManagerNotificationHandler printManagerNotificationHandler);
        private bool PublishSuccessEvent(PrintJobId printJobId, IPrintSuccessResult result)
        {
            bool eventPublished = false;
            IPrintManagerNotificationHandler handler;
            if (this.TryGetNotificationHandler(printJobId, out handler))
            {
                handler.OnPrintCompleted(printJobId, result);
                eventPublished = true;
            }

            return eventPublished;
        }
 protected abstract bool TryGetNotificationHandler(PrintJobId printJobId, out IPrintManagerNotificationHandler handler);
예제 #39
0
 void IPrintManagerCallback.NotifySuccess(PrintJobId printJobId)
 {
     this.handler.OnPrintCompleted(printJobId, new PrintSuccessResult(printJobId) { PrintedDateTime = DateTimeOffset.Now, Status = PrintStatus.Success });
 }
예제 #40
0
 public PrintResult(PrintJobId printJobId)
 {
     this.PrintJobId = printJobId;
 }
 protected abstract bool TryGetNotificationHandler(PrintJobId printJobId, out IPrintManagerNotificationHandler handler);
예제 #42
0
 internal PrintResponse(PrintJobId printJobId, Action <IPrintSuccessResult> onPrintSuccess, Action <IPrintErrorResult> onPrintFailure)
 {
     this.PrintJobId     = printJobId;
     this.onPrintSuccess = onPrintSuccess;
     this.onPrintFailure = onPrintFailure;
 }
 protected override void AddSubscriptionImpl(PrintJobId printJobId, IPrintManagerNotificationHandler printManagerNotificationHandler)
 {
     this.printJobIds[printJobId] = 0;
 }
 protected override void RemoveSubscriptionImpl(PrintJobId printJobId)
 {
     byte ret;
     this.printJobIds.TryRemove(printJobId, out ret);
 }
예제 #45
0
 internal PrintErrorResult(PrintJobId printJobId)
     : base(printJobId)
 {
 }