2 // System.Net.Configuration.HttpCachePolicyElement.cs
5 // Tim Coleman (tim@timcoleman.com)
7 // Copyright (C) Tim Coleman, 2004
8 // (c) 2004 Novell, Inc. (http://www.novell.com)
12 // Permission is hereby granted, free of charge, to any person obtaining
13 // a copy of this software and associated documentation files (the
14 // "Software"), to deal in the Software without restriction, including
15 // without limitation the rights to use, copy, modify, merge, publish,
16 // distribute, sublicense, and/or sell copies of the Software, and to
17 // permit persons to whom the Software is furnished to do so, subject to
18 // the following conditions:
20 // The above copyright notice and this permission notice shall be
21 // included in all copies or substantial portions of the Software.
23 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
24 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
25 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
26 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
27 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
28 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
29 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
32 #if NET_2_0 && XML_DEP
35 using System
.Configuration
;
36 using System
.Net
.Cache
;
39 namespace System
.Net
.Configuration
41 public sealed class HttpCachePolicyElement
: ConfigurationElement
45 ConfigurationPropertyCollection properties
;
46 static ConfigurationProperty maximumAge
= new ConfigurationProperty ("MaximumAge", typeof (TimeSpan
), TimeSpan
.MaxValue
);
47 static ConfigurationProperty maximumStale
= new ConfigurationProperty ("MaximumStale", typeof (TimeSpan
), TimeSpan
.MinValue
);
48 static ConfigurationProperty minimumFresh
= new ConfigurationProperty ("MinimumFresh", typeof (TimeSpan
), TimeSpan
.MinValue
);
49 static ConfigurationProperty policyLevel
= new ConfigurationProperty ("PolicyLevel", typeof (HttpRequestCacheLevel
), HttpRequestCacheLevel
.Default
);
55 public HttpCachePolicyElement ()
57 properties
= new ConfigurationPropertyCollection ();
58 properties
.Add (maximumAge
);
59 properties
.Add (maximumStale
);
60 properties
.Add (minimumFresh
);
61 properties
.Add (policyLevel
);
64 #endregion // Constructors
68 public TimeSpan MaximumAge
{
69 get { return (TimeSpan) base [maximumAge]; }
70 set { base [maximumAge] = value; }
73 public TimeSpan MaximumStale
{
74 get { return (TimeSpan) base [maximumStale]; }
75 set { base [maximumStale] = value; }
78 public TimeSpan MinimumFresh
{
79 get { return (TimeSpan) base [minimumFresh]; }
80 set { base [minimumFresh] = value; }
83 public HttpRequestCacheLevel PolicyLevel
{
84 get { return (HttpRequestCacheLevel) base [policyLevel]; }
85 set { base [policyLevel] = value; }
88 protected internal override ConfigurationPropertyCollection Properties
{
89 get { return properties; }
92 #endregion // Properties
97 protected internal override void Deserialize (XmlReader reader
, bool serializeCollectionKey
)
99 throw new NotImplementedException ();
103 protected internal override void Reset (ConfigurationElement parentElement
, object context
)
105 throw new NotImplementedException ();
108 #endregion // Methods