Application programming interfaces for generating and refreshing synchronization state.

Package Specification

This package specifies the API for Team subscribers. A Subscriber provides access to the synchronization state between the local workspace resources and a set of variants of those resources, whether it be a code repository or some other type of server (e.g. FTP). A subscriber is typically associated with only a subset of the resources in the local workspace, referred to as the set of resources the subscriber supervises. The supervised local resources have a corresponding variant state which describes the state of the remote resources that correspond to the local resources.

A Subscriber provides:

Implementing a Subscriber

An implementation of a subscriber must provide:

Optionally, a subscriber may provide a subclass of SyncInfo in order to customize the algorithm used to determine the synchronization state of a resource.

Additional Classes

The SubscriberSyncInfoCollector is used to collect the SyncInfo for out-of-sync resources from a subscriber into a SyncInfoTree that can be used to, for example, display the out-of-sync resources of a subscriber to the user. The collector supports filtering by working set and SyncInfoFilter (e.g. to select groupings such as incoming-changes or conflicts). Even when filtered, the collector still maintains a set of all out-of-sync resources from the subscriber in order to provide statistics on the number of pre and post filtered out-of-sync resources.

FilteredSyncInfoCollector is used to populate an output sync info set with the contents of an input set that match a particular filter.