PeerCollaboration Class

Definition

Interacts with the Peer Collaboration infrastructure. Many of the core collaboration scenarios begin with this class.

public ref class PeerCollaboration abstract sealed
public static class PeerCollaboration
type PeerCollaboration = class
Public Class PeerCollaboration
Inheritance
PeerCollaboration

Remarks

This class is a static class - it is sealed, abstract and does not have a public constructor. It is used to contain and manage application, object, and presence information for peers that have accepted invitations to a collaboration session. In terms of peers, objects, and applications, the PeerCollaboration class provides three accessors, one for each collection, as an interface or point of connectivity for whatever else is happening on the machine. This class cannot be inherited; a compile-time error will occur if this sealed class is specified as the base class.

Methods and properties in this class can be used to:

  • Launch and manage collaborative applications

  • Register and delete applications and collaboration objects (such as certificates, pictures, avatars, and text descriptions)

  • Invite peers to collaboration sessions, including items such as scope and objects which will identify them over the Internet

  • Allow peers to SignIn and SignOut of the collaboration infrastructure, manage lists of contacts, or publish their presence to each other

  • Utilize SynchronizingObject properties and events to coordinate asynchronous application communication, especially for changes in name, presence, application, or other objects.

"Link-local cloud", "subnet of the calling peer", and "NearMe scope" are synonymous terms. "Internet scope" and "serverless presence" are synonymous. The site-local PnrpScope has no equivalent in the collaboration namespace.

The use of every method or property in this class requires a PermissionState of Unrestricted. This state is created when the peer collaboration session begins.

Properties

ApplicationLaunchInfo

Gets the PeerApplicationLaunchInfo object that contains information needed when an application is started due to a collaboration request from a remote peer.

ContactManager

Gets the persistent store that contains all PeerContact objects for remote peers.

LocalEndPointName

Gets or sets the name of the PeerEndPoint associated with the calling peer.

LocalPresenceInfo

Gets or sets the presence for the calling peer within the PeerCollaboration infrastructure.

SignInScope

Gets the PeerScope to which the calling peer can publish presence, capability and object information.

SynchronizingObject

Gets or sets the event handler callback object for all event handlers.

Methods

DeleteObject(PeerObject)

Unregisters a PeerObject associated with the calling peer.

GetLocalRegisteredApplications()

Gets all PeerApplication objects that are registered on the local machine.

GetLocalRegisteredApplications(PeerApplicationRegistrationType)

Gets a collection of all PeerApplication objects that are registered on the local machine for the specified PeerApplicationRegistrationType.

GetLocalSetObjects()

Obtains all PeerObject instances registered by the calling peer with the PeerCollaboration infrastructure on this machine.

GetPeersNearMe()

Returns a collection of all the PeerCollaboration endpoints currently signed in on the network subnet of the calling peer.

RegisterApplication(PeerApplication, PeerApplicationRegistrationType)

Registers the specified PeerApplication for a collaboration session with the calling peer.

SetObject(PeerObject)

Registers a PeerObject associated with the calling peer.

SignIn(PeerScope)

Signs the peer into the collaboration infrastructure with the specified PeerScope.

SignOut(PeerScope)

Signs the peer out of the specified scope.

UnregisterApplication(PeerApplication, PeerApplicationRegistrationType)

Unregisters the specified PeerApplication from the PeerCollaboration infrastructure.

Events

LocalApplicationChanged

Raised when a PeerApplication in the PeerApplicationCollection for the local peer on the local host has changed.

LocalNameChanged

Raised when the name of the PeerEndPoint on the local host for the local peer has changed.

LocalObjectChanged

A PeerObject in the PeerObjectCollection for the local peer on the local host has changed.

LocalPresenceChanged

The PeerPresenceInfo of the local peer on the local host has changed.

Applies to