2009-08-04 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / System.ServiceModel / System.ServiceModel.Dispatcher / BaseRequestProcessorHandler.cs
1 using System;
2 using System.Collections.Generic;
3 using System.Text;
4 using System.ServiceModel;
5 using System.ServiceModel.Channels;
6
7 namespace System.ServiceModel.Dispatcher 
8 {       
9         internal abstract class BaseRequestProcessorHandler 
10         {
11                 BaseRequestProcessorHandler next;               
12
13                 public virtual void ProcessRequestChain (MessageProcessingContext mrc)
14                 {
15                         if (!ProcessRequest (mrc) && next != null ) {                           
16                                 next.ProcessRequestChain (mrc);
17                         }
18                 }
19
20                 public BaseRequestProcessorHandler Next
21                 {
22                         get { return next; }
23                         set { next = value; }
24                 }
25
26                 protected abstract bool ProcessRequest (MessageProcessingContext mrc);
27         }
28 }