Implement MachineKey.Protect and MachineKey.Unprotect
[mono.git] / mcs / class / System.ComponentModel.Composition / Tests / ComponentModelUnitTest / System / ComponentModel / Composition / Factories / ImportDefinitionFactory.DerivedImportDefinition.cs
1 // -----------------------------------------------------------------------\r
2 // Copyright (c) Microsoft Corporation.  All rights reserved.\r
3 // -----------------------------------------------------------------------\r
4 using System;\r
5 using System.ComponentModel.Composition;\r
6 using System.Collections.Generic;\r
7 using System.Linq.Expressions;\r
8 using System.ComponentModel.Composition.Primitives;\r
9 \r
10 namespace System.ComponentModel.Composition.Factories\r
11 {\r
12     partial class ImportDefinitionFactory\r
13     {\r
14         private class DerivedImportDefinition : ImportDefinition\r
15         {\r
16             private readonly Expression<Func<ExportDefinition, bool>> _constraint;\r
17             private readonly ImportCardinality _cardinality;\r
18             private readonly bool _isRecomposable;\r
19             private readonly bool _isPrerequisite;\r
20 \r
21             public DerivedImportDefinition(Expression<Func<ExportDefinition, bool>> constraint, ImportCardinality cardinality, bool isRecomposable, bool isPrerequisite)\r
22             {\r
23                 _constraint = constraint ?? (export => false);\r
24                 _cardinality = cardinality;\r
25                 _isRecomposable = isRecomposable;\r
26                 _isPrerequisite = isPrerequisite;\r
27             }\r
28 \r
29             public override ImportCardinality Cardinality\r
30             {\r
31                 get { return _cardinality; }\r
32             }\r
33 \r
34             public override bool IsPrerequisite\r
35             {\r
36                 get { return _isPrerequisite; }\r
37             }\r
38 \r
39             public override bool IsRecomposable\r
40             {\r
41                 get { return _isRecomposable; }\r
42             }\r
43 \r
44             public override Expression<Func<ExportDefinition, bool>> Constraint\r
45             {\r
46                 get { return _constraint; }\r
47             }\r
48         }\r
49     }\r
50 }\r