Share via


IFilteredSimpleSyncProvider.FilterOptions Property

When overridden in a derived class, gets a SimpleSyncProviderFilterOptions object, which provides options about which items to send to the destination replica.

Namespace: Microsoft.Synchronization.SimpleProviders
Assembly: Microsoft.Synchronization.SimpleProviders (in microsoft.synchronization.simpleproviders.dll)

Syntax

'Declaration
ReadOnly Property FilterOptions As SimpleSyncProviderFilterOptions
'Usage
Dim instance As IFilteredSimpleSyncProvider
Dim value As SimpleSyncProviderFilterOptions

value = instance.FilterOptions
SimpleSyncProviderFilterOptions FilterOptions { get; }
property SimpleSyncProviderFilterOptions FilterOptions {
    SimpleSyncProviderFilterOptions get ();
}
/** @property */
SimpleSyncProviderFilterOptions get_FilterOptions ()
function get FilterOptions () : SimpleSyncProviderFilterOptions

Property Value

A SimpleSyncProviderFilterOptions object, which provides options about which items to send to the destination replica.

Example

The following code example first specifies a filter option of None. This means that items should be filtered out even if they are already known to the destination. The code example then implements the IsItemInFilterScope method, which filters out items based on one of the item field values. After the filter is defined, the code example implements the UseFilterThisSession method. This enables an application to specify whether filtering should be used on a per-session basis.

SimpleSyncProviderFilterOptions IFilteredSimpleSyncProvider.FilterOptions
{
    get
    {
        return SimpleSyncProviderFilterOptions.None;
    }
}

bool IFilteredSimpleSyncProvider.IsItemInFilterScope(ItemFieldDictionary KeyAndVersion)
{
    ulong itemId = (ulong)KeyAndVersion[1].Value;
    ItemData itemData = _store.Get(itemId);
    if (itemData["data"] == "3333")
    {
        return false;
    }

    return true;
}

bool IFilteredSimpleSyncProvider.UseFilterThisSession
{
    get
    {
        // Indicate whether a filter has been requested and agreed upon for this session.
        return ("" != _filter);
    }
}
Private ReadOnly Property FilterOptions() As SimpleSyncProviderFilterOptions Implements IFilteredSimpleSyncProvider.FilterOptions
    Get
        Return SimpleSyncProviderFilterOptions.None
    End Get
End Property

Private Function IsItemInFilterScope(ByVal KeyAndVersion As ItemFieldDictionary) As Boolean Implements IFilteredSimpleSyncProvider.IsItemInFilterScope
    Dim itemId As ULong = KeyAndVersion(1).Value
    Dim data As ItemData = _store.Get(itemId)
    If data("data") Is "3333" Then
        Return False
    End If

    Return True
End Function

Private ReadOnly Property UseFilterThisSession() As Boolean Implements IFilteredSimpleSyncProvider.UseFilterThisSession
    Get
        ' Indicate whether a filter has been requested and agreed upon for this session.
        Return "" Is _filter
    End Get
End Property

See Also

Reference

IFilteredSimpleSyncProvider Interface
IFilteredSimpleSyncProvider Members
Microsoft.Synchronization.SimpleProviders Namespace