2 // XPathMessageFilter.cs
5 // Atsushi Enomoto <atsushi@ximian.com>
7 // Copyright (C) 2005 Novell, Inc (http://www.novell.com)
9 // Permission is hereby granted, free of charge, to any person obtaining
10 // a copy of this software and associated documentation files (the
11 // "Software"), to deal in the Software without restriction, including
12 // without limitation the rights to use, copy, modify, merge, publish,
13 // distribute, sublicense, and/or sell copies of the Software, and to
14 // permit persons to whom the Software is furnished to do so, subject to
15 // the following conditions:
17 // The above copyright notice and this permission notice shall be
18 // included in all copies or substantial portions of the Software.
20 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
24 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
25 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
26 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
30 using System
.Collections
.Generic
;
31 using System
.Collections
.ObjectModel
;
32 using System
.ServiceModel
;
33 using System
.ServiceModel
.Channels
;
35 using System
.Xml
.Schema
;
36 using System
.Xml
.Serialization
;
37 using System
.Xml
.XPath
;
40 namespace System
.ServiceModel
.Dispatcher
43 [XmlRoot ("XPathMessageFilter", Namespace
= "http://schemas.microsoft.com/serviceModel/2004/05/xpathfilter")]
44 [XmlSchemaProvider ("StaticGetSchema")]
45 public class XPathMessageFilter
: MessageFilter
, IXmlSerializable
47 public static XmlSchemaType
StaticGetSchema (XmlSchemaSet schemas
)
49 throw new NotImplementedException ();
52 XmlNamespaceManager namespaces
;
57 public XPathMessageFilter ()
61 public XPathMessageFilter (string xpath
)
63 Initialize (xpath
, null);
66 public XPathMessageFilter (string xpath
, XmlNamespaceManager namespaces
)
68 Initialize (xpath
, namespaces
);
71 public XPathMessageFilter (string xpath
, XsltContext namespaces
)
73 Initialize (xpath
, namespaces
);
77 public XPathMessageFilter (XmlReader reader
)
78 : this (reader
, (XmlNamespaceManager
) null)
83 public XPathMessageFilter (XmlReader reader
, XmlNamespaceManager namespaces
)
85 Initialize (reader
.ReadString (), namespaces
);
89 public XPathMessageFilter (XmlReader reader
, XsltContext namespaces
)
91 Initialize (reader
.ReadString (), namespaces
);
94 private void Initialize (string xpath
, XmlNamespaceManager nsmgr
)
100 public XmlNamespaceManager Namespaces
{
101 get { return namespaces; }
104 public int NodeQuota
{
105 get { return node_quota; }
106 set { node_quota = value; }
109 public string XPath
{
110 get { return xpath; }
113 protected internal override IMessageFilterTable
<FilterData
> CreateFilterTable
<FilterData
> ()
115 throw new NotImplementedException ();
118 public override bool Match (Message message
)
120 throw new NotImplementedException ();
123 public override bool Match (MessageBuffer messageBuffer
)
125 throw new NotImplementedException ();
128 public bool Match (SeekableXPathNavigator navigator
)
130 throw new NotImplementedException ();
133 public bool Match (XPathNavigator navigator
)
135 throw new NotImplementedException ();
138 public void TrimToSize ()
141 throw new NotImplementedException ();
144 public void WriteXPathTo (XmlWriter writer
,
145 string prefix
, string localName
, string ns
,
146 bool writeNamespaces
)
148 throw new NotImplementedException ();
151 protected virtual XmlSchema
OnGetSchema ()
153 throw new NotImplementedException ();
156 protected virtual void OnReadXml (XmlReader reader
)
158 throw new NotImplementedException ();
161 protected virtual void OnWriteXml (XmlWriter writer
)
163 throw new NotImplementedException ();
166 protected void ReadXPath (XmlReader reader
,
167 XmlNamespaceManager namespaces
)
169 throw new NotImplementedException ();
172 protected void WriteXPath (XmlWriter writer
,
173 IXmlNamespaceResolver resolver
)
175 throw new NotImplementedException ();
178 XmlSchema IXmlSerializable
.GetSchema ()
180 throw new NotImplementedException ();
183 void IXmlSerializable
.ReadXml (XmlReader reader
)
185 throw new NotImplementedException ();
188 void IXmlSerializable
.WriteXml (XmlWriter writer
)
190 throw new NotImplementedException ();