public class BindingParameterCollection
: KeyedByTypeCollection<object>
{
+#if NET_4_5
+ protected override Type GetKeyForItem (object item)
+ {
+ return base.GetKeyForItem (item);
+ }
+
+ protected override void InsertItem (int index, object item)
+ {
+ base.InsertItem (index, item);
+ }
+
+ protected override void SetItem (int index, object item)
+ {
+ base.SetItem (index, item);
+ }
+#endif
}
}
namespace System.ServiceModel.Channels
{
public sealed class HttpRequestMessageProperty
+#if NET_4_5
+ : IMessageProperty
+#endif
{
public static string Name {
get { return "httpRequest"; }
get { return suppress_entity; }
set { suppress_entity = value; }
}
+
+
+#if NET_4_5
+ IMessageProperty IMessageProperty.CreateCopy ()
+ {
+ var copy = new HttpRequestMessageProperty ();
+ // FIXME: Clone headers?
+ copy.headers = headers;
+ copy.method = method;
+ copy.query_string = query_string;
+ copy.suppress_entity = suppress_entity;
+ return copy;
+ }
+#endif
}
}
namespace System.ServiceModel.Channels
{
public sealed class HttpResponseMessageProperty
+#if NET_4_5
+ : IMessageProperty
+#endif
{
public static string Name {
get { return "httpResponse"; }
get { return suppress_entity; }
set { suppress_entity = value; }
}
+
+#if NET_4_5
+ IMessageProperty IMessageProperty.CreateCopy ()
+ {
+ var copy = new HttpResponseMessageProperty ();
+ // FIXME: Clone headers?
+ copy.headers = headers;
+ copy.status_desc = status_desc;
+ copy.status_code = status_code;
+ copy.suppress_entity = suppress_entity;
+ return copy;
+ }
+#endif
}
}
public override T GetProperty<T> (BindingContext context)
{
// http://blogs.msdn.com/drnick/archive/2007/04/10/interfaces-for-getproperty-part-1.aspx
-#if !NET_2_1
if (typeof (T) == typeof (ISecurityCapabilities))
return (T) (object) new HttpBindingProperties (this);
if (typeof (T) == typeof (IBindingDeliveryCapabilities))
return (T) (object) new HttpBindingProperties (this);
-#endif
if (typeof (T) == typeof (TransferMode))
return (T) (object) TransferMode;
return base.GetProperty<T> (context);
}
+
+#if NET_4_5
+ public WebSocketTransportSettings WebSocketSettings {
+ get { throw new NotImplementedException (); }
+ set { throw new NotImplementedException (); }
+ }
+#endif
#if !NET_2_1
void IPolicyExportExtension.ExportPolicy (
#endif
}
-#if !NET_2_1
class HttpBindingProperties : ISecurityCapabilities, IBindingDeliveryCapabilities
{
HttpTransportBindingElement source;
}
}
}
-#endif
}
token.SetAttribute ("RequireClientCertificate", req_cli_cert ? "true" : "false");
return token;
}
+#endif
// overriden only in full profile
public override T GetProperty<T> (BindingContext context)
return (T) (object) new HttpsBindingProperties (this);
return base.GetProperty<T> (context);
}
-#endif
}
-#if !NET_2_1
class HttpsBindingProperties : HttpBindingProperties
{
HttpsTransportBindingElement source;
get { return source.RequireClientCertificate || base.SupportsClientWindowsIdentity; }
}
}
-#endif
}
namespace System.ServiceModel.Channels
{
- public sealed class ReliableSessionBindingElement : BindingElement, IPolicyExportExtension
+ public sealed class ReliableSessionBindingElement : BindingElement
+#if !MOBILE
+ , IPolicyExportExtension
+#endif
{
public ReliableSessionBindingElement ()
{
{
throw new NotImplementedException ();
}
-
+
+#if !NET_2_1
[MonoTODO]
public override IChannelListener<TChannel> BuildChannelListener<TChannel> (BindingContext context)
{
}
[MonoTODO]
- public override bool CanBuildChannelFactory<TChannel> (BindingContext context)
+ public override bool CanBuildChannelListener<TChannel> (BindingContext context)
{
throw new NotImplementedException ();
}
+#endif
[MonoTODO]
- public override bool CanBuildChannelListener<TChannel> (BindingContext context)
+ public override bool CanBuildChannelFactory<TChannel> (BindingContext context)
{
throw new NotImplementedException ();
}
{
throw new NotImplementedException ();
}
-
+
+#if !MOBILE
void IPolicyExportExtension.ExportPolicy (MetadataExporter exporter, PolicyConversionContext context)
{
throw new NotImplementedException ();
}
+#endif
}
}
--- /dev/null
+// Authors:
+// Martin Baulig (martin.baulig@xamarin.com)
+//
+// Copyright 2012 Xamarin Inc. (http://www.xamarin.com)
+//
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_4_5
+using System;
+
+namespace System.ServiceModel.Channels {
+ [MonoTODO]
+ public sealed class WebSocketTransportSettings : IEquatable<WebSocketTransportSettings> {
+ public WebSocketTransportSettings ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ public const string BinaryEncoderTransferModeHeader = null;
+ public const string BinaryMessageReceivedAction = null;
+ public const string ConnectionOpenedAction = null;
+ public const string SoapContentTypeHeader = null;
+ public const string TextMessageReceivedAction = null;
+
+ public bool CreateNotificationOnConnection { get; set; }
+ public bool DisablePayloadMasking { get; set; }
+ public TimeSpan KeepAliveInterval { get; set; }
+ public int MaxPendingConnections { get; set; }
+ public int ReceiveBufferSize { get; set; }
+ public int SendBufferSize { get; set; }
+ public string SubProtocol { get; set; }
+ public WebSocketTransportUsage TransportUsage { get; set; }
+
+ public bool Equals (WebSocketTransportSettings other)
+ {
+ return other.CreateNotificationOnConnection == CreateNotificationOnConnection &&
+ other.DisablePayloadMasking == DisablePayloadMasking &&
+ other.KeepAliveInterval == KeepAliveInterval &&
+ other.MaxPendingConnections == MaxPendingConnections &&
+ other.ReceiveBufferSize == ReceiveBufferSize &&
+ other.SendBufferSize == SendBufferSize &&
+ other.SubProtocol == SubProtocol &&
+ other.TransportUsage == TransportUsage;
+ }
+
+
+ }
+}
+#endif
--- /dev/null
+// Authors:
+// Martin Baulig (martin.baulig@xamarin.com)
+//
+// Copyright 2012 Xamarin Inc. (http://www.xamarin.com)
+//
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_4_5
+namespace System.ServiceModel.Channels {
+ public enum WebSocketTransportUsage {
+ WhenDuplex,
+ Always,
+ Never
+ }
+}
+#endif
--- /dev/null
+// Authors:
+// Martin Baulig (martin.baulig@xamarin.com)
+//
+// Copyright 2012 Xamarin Inc. (http://www.xamarin.com)
+//
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+using System;
+using System.ServiceModel.Channels;
+
+namespace System.ServiceModel {
+ [MonoTODO]
+ public class NetHttpBinding : HttpBindingBase {
+ public NetHttpBinding ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ public NetHttpBinding (BasicHttpSecurityMode securityMode)
+ {
+ throw new NotImplementedException ();
+ }
+
+ public NetHttpBinding (string configurationName)
+ {
+ throw new NotImplementedException ();
+ }
+
+ public NetHttpBinding (
+ BasicHttpSecurityMode securityMode, bool reliableSessionEnabled)
+ {
+ throw new NotImplementedException ();
+ }
+
+ public NetHttpMessageEncoding MessageEncoding { get; set; }
+ public OptionalReliableSession ReliableSession { get; set; }
+ public BasicHttpSecurity Security { get; set; }
+
+ public WebSocketTransportSettings WebSocketSettings {
+ get { throw new NotImplementedException (); }
+ }
+
+ public override string Scheme {
+ get { throw new NotImplementedException (); }
+ }
+
+ public override BindingElementCollection CreateBindingElements ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ public bool ShouldSerializeReliableSession ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ public bool ShouldSerializeSecurity ()
+ {
+ throw new NotImplementedException ();
+ }
+
+
+
+ }
+}
\ No newline at end of file
--- /dev/null
+// Authors:
+// Martin Baulig (martin.baulig@xamarin.com)
+//
+// Copyright 2012 Xamarin Inc. (http://www.xamarin.com)
+//
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+namespace System.ServiceModel {
+ public enum NetHttpMessageEncoding {
+ Binary,
+ Text,
+ Mtom
+ }
+}
System.ServiceModel.Channels/HttpResponseMessageProperty.cs
System.ServiceModel.Channels/HttpTransportBindingElement.cs
System.ServiceModel.Channels/HttpsTransportBindingElement.cs
+System.ServiceModel.Channels/IBindingDeliveryCapabilities.cs
System.ServiceModel.Channels/IBindingRuntimePreferences.cs
System.ServiceModel.Channels/IChannel.cs
System.ServiceModel.Channels/IChannelFactory.cs
System.ServiceModel.Channels/MessageProperties.cs
System.ServiceModel.Channels/MessageVersion.cs
System.ServiceModel.Channels/OutputChannelBase.cs
+System.ServiceModel.Channels/ReliableSessionBindingElement.cs
System.ServiceModel.Channels/RequestChannelBase.cs
System.ServiceModel.Channels/RequestContext.cs
System.ServiceModel.Channels/SecurityBindingElement.cs
System.ServiceModel.Channels/TransportBindingElement.cs
System.ServiceModel.Channels/TransportSecurityBindingElement.cs
System.ServiceModel.Channels/UnderstoodHeaders.cs
+System.ServiceModel.Channels/WebSocketTransportSettings.cs
+System.ServiceModel.Channels/WebSocketTransportUsage.cs
System.ServiceModel.Channels/XmlObjectSerializerBodyWriter.cs
System.ServiceModel.Channels/XmlReaderBodyWriter.cs
System.ServiceModel.Description/ClientCredentials.cs
System.ServiceModel/BasicHttpBinding_4_5.cs
System.ServiceModel/BasicHttpSecurity.cs
System.ServiceModel/BasicHttpMessageSecurity.cs
+System.ServiceModel/BasicHttpsBinding.cs
+System.ServiceModel/BasicHttpsSecurity.cs
System.ServiceModel/ChannelFactory.cs
System.ServiceModel/ChannelFactory_1.cs
System.ServiceModel/ClientBase.cs
System.ServiceModel/MessageHeader_1.cs
System.ServiceModel/MessageParameterAttribute.cs
System.ServiceModel/MessagePropertyAttribute.cs
+System.ServiceModel/NetHttpBinding.cs
+System.ServiceModel/NetHttpMessageEncoding.cs
System.ServiceModel/OperationContext.cs
System.ServiceModel/OperationContextScope.cs
System.ServiceModel/OperationContractAttribute.cs
+System.ServiceModel/OptionalReliableSession.cs
System.ServiceModel/ProtocolException.cs
System.ServiceModel/QuotaExceededException.cs
+System.ServiceModel/ReliableMessagingVersion.cs
+System.ServiceModel/ReliableSession.cs
System.ServiceModel/ServerTooBusyException.cs
System.ServiceModel/ServiceActivationException.cs
System.ServiceModel/ServiceContractAttribute.cs
System.ServiceModel/BasicHttpBinding_4_5.cs
System.ServiceModel/BasicHttpsBinding.cs
System.ServiceModel/BasicHttpsSecurity.cs
+System.ServiceModel/NetHttpBinding.cs
+System.ServiceModel/NetHttpMessageEncoding.cs
+System.ServiceModel.Channels/WebSocketTransportSettings.cs
+System.ServiceModel.Channels/WebSocketTransportUsage.cs
System.ServiceModel.Configuration/BasicHttpBindingElement_4_5.cs
System.ServiceModel.Configuration/HttpBindingBaseElement.cs
System.ServiceModel.Configuration/BasicHttpsBindingElement.cs