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