Share via


IMCSessionDelegate Interface

Definition

A delegate object whose functions relate to events in the MCSession life-cycle, such as connection status changes and data reception.

[Foundation.Protocol(Name="MCSessionDelegate", WrapperType=typeof(MultipeerConnectivity.MCSessionDelegateWrapper))]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DidChangeState", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(MultipeerConnectivity.MCPeerID), typeof(MultipeerConnectivity.MCSessionState) }, Selector="session:peer:didChangeState:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DidReceiveData", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(Foundation.NSData), typeof(MultipeerConnectivity.MCPeerID) }, Selector="session:didReceiveData:fromPeer:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DidStartReceivingResource", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(System.String), typeof(MultipeerConnectivity.MCPeerID), typeof(Foundation.NSProgress) }, Selector="session:didStartReceivingResourceWithName:fromPeer:withProgress:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DidFinishReceivingResource", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(System.String), typeof(MultipeerConnectivity.MCPeerID), typeof(Foundation.NSUrl), typeof(Foundation.NSError) }, Selector="session:didFinishReceivingResourceWithName:fromPeer:atURL:withError:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DidReceiveStream", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(Foundation.NSInputStream), typeof(System.String), typeof(MultipeerConnectivity.MCPeerID) }, Selector="session:didReceiveStream:withName:fromPeer:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DidReceiveCertificate", ParameterBlockProxy=new System.Type[] { null, null, null, typeof(ObjCRuntime.Trampolines+NIDActionArity1V4) }, ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(Security.SecCertificate[]), typeof(MultipeerConnectivity.MCPeerID), typeof(System.Action<System.Boolean>) }, ReturnType=typeof(System.Boolean), Selector="session:didReceiveCertificate:fromPeer:certificateHandler:")]
public interface IMCSessionDelegate : IDisposable, ObjCRuntime.INativeObject
[Foundation.Protocol(Name="MCSessionDelegate", WrapperType=typeof(MultipeerConnectivity.MCSessionDelegateWrapper))]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DidChangeState", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(MultipeerConnectivity.MCPeerID), typeof(MultipeerConnectivity.MCSessionState) }, Selector="session:peer:didChangeState:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DidReceiveData", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(Foundation.NSData), typeof(MultipeerConnectivity.MCPeerID) }, Selector="session:didReceiveData:fromPeer:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DidStartReceivingResource", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(System.String), typeof(MultipeerConnectivity.MCPeerID), typeof(Foundation.NSProgress) }, Selector="session:didStartReceivingResourceWithName:fromPeer:withProgress:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DidFinishReceivingResource", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(System.String), typeof(MultipeerConnectivity.MCPeerID), typeof(Foundation.NSUrl), typeof(Foundation.NSError) }, Selector="session:didFinishReceivingResourceWithName:fromPeer:atURL:withError:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DidReceiveStream", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(Foundation.NSInputStream), typeof(System.String), typeof(MultipeerConnectivity.MCPeerID) }, Selector="session:didReceiveStream:withName:fromPeer:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DidReceiveCertificate", ParameterBlockProxy=new System.Type[] { null, null, null, typeof(ObjCRuntime.Trampolines+NIDActionArity1V2) }, ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(Security.SecCertificate[]), typeof(MultipeerConnectivity.MCPeerID), typeof(System.Action<System.Boolean>) }, ReturnType=typeof(System.Boolean), Selector="session:didReceiveCertificate:fromPeer:certificateHandler:")]
public interface IMCSessionDelegate : IDisposable, ObjCRuntime.INativeObject
[Foundation.Protocol(Name="MCSessionDelegate", WrapperType=typeof(MultipeerConnectivity.MCSessionDelegateWrapper))]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DidChangeState", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(MultipeerConnectivity.MCPeerID), typeof(MultipeerConnectivity.MCSessionState) }, Selector="session:peer:didChangeState:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DidReceiveData", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(Foundation.NSData), typeof(MultipeerConnectivity.MCPeerID) }, Selector="session:didReceiveData:fromPeer:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DidStartReceivingResource", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(System.String), typeof(MultipeerConnectivity.MCPeerID), typeof(Foundation.NSProgress) }, Selector="session:didStartReceivingResourceWithName:fromPeer:withProgress:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DidFinishReceivingResource", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(System.String), typeof(MultipeerConnectivity.MCPeerID), typeof(Foundation.NSUrl), typeof(Foundation.NSError) }, Selector="session:didFinishReceivingResourceWithName:fromPeer:atURL:withError:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DidReceiveStream", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(Foundation.NSInputStream), typeof(System.String), typeof(MultipeerConnectivity.MCPeerID) }, Selector="session:didReceiveStream:withName:fromPeer:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DidReceiveCertificate", ParameterBlockProxy=new System.Type[] { null, null, null, typeof(ObjCRuntime.Trampolines+NIDActionArity1V0) }, ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(Security.SecCertificate[]), typeof(MultipeerConnectivity.MCPeerID), typeof(System.Action<System.Boolean>) }, ReturnType=typeof(System.Boolean), Selector="session:didReceiveCertificate:fromPeer:certificateHandler:")]
public interface IMCSessionDelegate : IDisposable, ObjCRuntime.INativeObject
[<Foundation.Protocol(Name="MCSessionDelegate", WrapperType=typeof(MultipeerConnectivity.MCSessionDelegateWrapper))>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DidChangeState", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(MultipeerConnectivity.MCPeerID), typeof(MultipeerConnectivity.MCSessionState) }, Selector="session:peer:didChangeState:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DidReceiveData", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(Foundation.NSData), typeof(MultipeerConnectivity.MCPeerID) }, Selector="session:didReceiveData:fromPeer:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DidStartReceivingResource", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(System.String), typeof(MultipeerConnectivity.MCPeerID), typeof(Foundation.NSProgress) }, Selector="session:didStartReceivingResourceWithName:fromPeer:withProgress:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DidFinishReceivingResource", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(System.String), typeof(MultipeerConnectivity.MCPeerID), typeof(Foundation.NSUrl), typeof(Foundation.NSError) }, Selector="session:didFinishReceivingResourceWithName:fromPeer:atURL:withError:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DidReceiveStream", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(Foundation.NSInputStream), typeof(System.String), typeof(MultipeerConnectivity.MCPeerID) }, Selector="session:didReceiveStream:withName:fromPeer:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DidReceiveCertificate", ParameterBlockProxy=new System.Type[] { null, null, null, typeof(ObjCRuntime.Trampolines+NIDActionArity1V4) }, ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(Security.SecCertificate[]), typeof(MultipeerConnectivity.MCPeerID), typeof(System.Action<System.Boolean>) }, ReturnType=typeof(System.Boolean), Selector="session:didReceiveCertificate:fromPeer:certificateHandler:")>]
type IMCSessionDelegate = interface
    interface INativeObject
    interface IDisposable
[<Foundation.Protocol(Name="MCSessionDelegate", WrapperType=typeof(MultipeerConnectivity.MCSessionDelegateWrapper))>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DidChangeState", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(MultipeerConnectivity.MCPeerID), typeof(MultipeerConnectivity.MCSessionState) }, Selector="session:peer:didChangeState:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DidReceiveData", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(Foundation.NSData), typeof(MultipeerConnectivity.MCPeerID) }, Selector="session:didReceiveData:fromPeer:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DidStartReceivingResource", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(System.String), typeof(MultipeerConnectivity.MCPeerID), typeof(Foundation.NSProgress) }, Selector="session:didStartReceivingResourceWithName:fromPeer:withProgress:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DidFinishReceivingResource", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(System.String), typeof(MultipeerConnectivity.MCPeerID), typeof(Foundation.NSUrl), typeof(Foundation.NSError) }, Selector="session:didFinishReceivingResourceWithName:fromPeer:atURL:withError:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DidReceiveStream", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(Foundation.NSInputStream), typeof(System.String), typeof(MultipeerConnectivity.MCPeerID) }, Selector="session:didReceiveStream:withName:fromPeer:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DidReceiveCertificate", ParameterBlockProxy=new System.Type[] { null, null, null, typeof(ObjCRuntime.Trampolines+NIDActionArity1V2) }, ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(Security.SecCertificate[]), typeof(MultipeerConnectivity.MCPeerID), typeof(System.Action<System.Boolean>) }, ReturnType=typeof(System.Boolean), Selector="session:didReceiveCertificate:fromPeer:certificateHandler:")>]
type IMCSessionDelegate = interface
    interface INativeObject
    interface IDisposable
[<Foundation.Protocol(Name="MCSessionDelegate", WrapperType=typeof(MultipeerConnectivity.MCSessionDelegateWrapper))>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DidChangeState", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(MultipeerConnectivity.MCPeerID), typeof(MultipeerConnectivity.MCSessionState) }, Selector="session:peer:didChangeState:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DidReceiveData", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(Foundation.NSData), typeof(MultipeerConnectivity.MCPeerID) }, Selector="session:didReceiveData:fromPeer:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DidStartReceivingResource", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(System.String), typeof(MultipeerConnectivity.MCPeerID), typeof(Foundation.NSProgress) }, Selector="session:didStartReceivingResourceWithName:fromPeer:withProgress:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DidFinishReceivingResource", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(System.String), typeof(MultipeerConnectivity.MCPeerID), typeof(Foundation.NSUrl), typeof(Foundation.NSError) }, Selector="session:didFinishReceivingResourceWithName:fromPeer:atURL:withError:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="DidReceiveStream", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(Foundation.NSInputStream), typeof(System.String), typeof(MultipeerConnectivity.MCPeerID) }, Selector="session:didReceiveStream:withName:fromPeer:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DidReceiveCertificate", ParameterBlockProxy=new System.Type[] { null, null, null, typeof(ObjCRuntime.Trampolines+NIDActionArity1V0) }, ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(MultipeerConnectivity.MCSession), typeof(Security.SecCertificate[]), typeof(MultipeerConnectivity.MCPeerID), typeof(System.Action<System.Boolean>) }, ReturnType=typeof(System.Boolean), Selector="session:didReceiveCertificate:fromPeer:certificateHandler:")>]
type IMCSessionDelegate = interface
    interface INativeObject
    interface IDisposable
Derived
Attributes
Implements

Remarks

Callbacks to the MCSessionDelegate object are likely to be made on background threads. Application developers who wish to update the display must use, for instance, InvokeOnMainThread(Selector, NSObject).

Properties

Name Description
Handle

Handle (pointer) to the unmanaged object representation.

(Inherited from INativeObject)

Methods

Name Description
DidChangeState(MCSession, MCPeerID, MCSessionState)

Indicates that the session has transitioned to the new state.

DidFinishReceivingResource(MCSession, String, MCPeerID, NSUrl, NSError)

Indicates that the transfer of resourceName has completed.

DidReceiveCertificate(MCSession, SecCertificate[], MCPeerID, Action<Boolean>)

Indicates peerID wishes to join the session. certificateHandler must be called.

DidReceiveData(MCSession, NSData, MCPeerID)

Indicates the arrival of data.

DidReceiveStream(MCSession, NSInputStream, String, MCPeerID)

Indicates the arrival of stream.

DidStartReceivingResource(MCSession, String, MCPeerID, NSProgress)

Indicates that resourceName has begun to arrive.

Extension Methods

Name Description
DidReceiveCertificate(IMCSessionDelegate, MCSession, SecCertificate[], MCPeerID, Action<Boolean>)

Indicates peerID wishes to join the session. certificateHandler must be called.

GetHandle(INativeObject)
GetNonNullHandle(INativeObject, String)

Applies to

See also