2005-01-31 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mcs / class / Microsoft.Web.Services / Microsoft.Web.Services.Configuration / FilterConfiguration.cs
1 //
2 // FilterConfiguration.cs: Filter Configuration
3 //
4 // Author:
5 //      Sebastien Pouliot (spouliot@motus.com)
6 //
7 // (C) 2003 Motus Technologies Inc. (http://www.motus.com)
8 //
9
10 using System;
11
12 using Microsoft.Web.Services;
13 using Microsoft.Web.Services.Configuration;
14 using Microsoft.Web.Services.Diagnostics;
15 using Microsoft.Web.Services.Security;
16 using Microsoft.Web.Services.Timestamp;
17 using Microsoft.Web.Services.Referral;
18 using Microsoft.Web.Services.Routing;
19
20 namespace Microsoft.Web.Services.Configuration {
21
22         public sealed class FilterConfiguration : ConfigurationBase {
23
24                 private SoapInputFilterCollection input;
25                 private SoapOutputFilterCollection output;
26
27                 [MonoTODO("see <filters> in WSE documentation")]
28                 internal FilterConfiguration () 
29                 {
30                         input = new SoapInputFilterCollection ();
31                         // trace availability depends on config (or manual setup)
32 #if WSE1                        
33                         if (WebServicesConfiguration.Config.Trace) {
34                                 input.Add (new TraceInputFilter ());
35                         }
36 #endif
37                         // the following 4 filters always seems present (notwithstanding config)
38                         input.Add (new SecurityInputFilter ());
39                         input.Add (new TimestampInputFilter ());
40                         input.Add (new ReferralInputFilter ());
41                         input.Add (new RoutingInputFilter ());
42                         // TODO: add custom input filters
43
44                         output = new SoapOutputFilterCollection ();
45                         // trace availability depends on config (or manual setup)
46 #if WSE1
47                         if (WebServicesConfiguration.Config.Trace) {
48                                 output.Add (new TraceOutputFilter ());
49                         }
50 #endif
51                         // the following 4 filters always seems present (notwithstanding config)
52                         output.Add (new SecurityOutputFilter ());
53                         output.Add (new TimestampOutputFilter ());
54                         output.Add (new ReferralOutputFilter ());
55                         output.Add (new RoutingOutputFilter ());
56                         // TODO: add custom output filters
57                 }
58
59                 public SoapInputFilterCollection InputFilters { 
60                         get { return input; }
61                 }
62
63                 public SoapOutputFilterCollection OutputFilters { 
64                         get { return output; }
65                 }
66         }
67 }