Xamarin Public Jenkins (auto-signing) e79aa3c0ed Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
2016-08-03 10:59:49 +00:00

40 lines
1.4 KiB
C#

//----------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------------
namespace System.Runtime.DurableInstancing
{
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Xml.Linq;
[Fx.Tag.XamlVisible(false)]
public sealed class InstanceLockQueryResult : InstanceStoreQueryResult
{
static readonly ReadOnlyDictionaryInternal<Guid, Guid> EmptyQueryResult = new ReadOnlyDictionaryInternal<Guid, Guid>(new Dictionary<Guid, Guid>(0));
// Zero
public InstanceLockQueryResult()
{
InstanceOwnerIds = EmptyQueryResult;
}
// One
public InstanceLockQueryResult(Guid instanceId, Guid instanceOwnerId)
{
Dictionary<Guid, Guid> owners = new Dictionary<Guid, Guid>(1);
owners.Add(instanceId, instanceOwnerId);
InstanceOwnerIds = new ReadOnlyDictionaryInternal<Guid, Guid>(owners);
}
// N
public InstanceLockQueryResult(IDictionary<Guid, Guid> instanceOwnerIds)
{
Dictionary<Guid, Guid> copy = new Dictionary<Guid, Guid>(instanceOwnerIds);
InstanceOwnerIds = new ReadOnlyDictionaryInternal<Guid, Guid>(copy);
}
public IDictionary<Guid, Guid> InstanceOwnerIds { get; private set; }
}
}