Mercurial > repos > IBDev-IBBoard.WarFoundry.API
annotate API/Factories/Requirement/IRequirementFactory.cs @ 379:04f4c2fea356
Re #351: Add extensible requirement handling method
* Extract common IRequirementFactory interface
* Drop back to just returning IRequirement from factory to simplify generics
* Add initial registration of requirement factories
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sat, 23 Jul 2011 19:53:42 +0000 |
parents | |
children |
rev | line source |
---|---|
379
04f4c2fea356
Re #351: Add extensible requirement handling method
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
1 // This file (IRequirementFactory.cs) is a part of the IBBoard.WarFoundry.API project and is copyright 2011 IBBoard |
04f4c2fea356
Re #351: Add extensible requirement handling method
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
2 // |
04f4c2fea356
Re #351: Add extensible requirement handling method
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
3 // The file and the library/program it is in are licensed and distributed, without warranty, under the GNU Affero GPL license, either version 3 of the License or (at your option) any later version. Please see COPYING for more information and the full license. |
04f4c2fea356
Re #351: Add extensible requirement handling method
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
4 using System; |
04f4c2fea356
Re #351: Add extensible requirement handling method
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
5 using IBBoard.WarFoundry.API.Objects; |
04f4c2fea356
Re #351: Add extensible requirement handling method
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
6 using IBBoard.WarFoundry.API.Objects.Requirement; |
04f4c2fea356
Re #351: Add extensible requirement handling method
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
7 |
04f4c2fea356
Re #351: Add extensible requirement handling method
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
8 namespace IBBoard.WarFoundry.API.Factories.Requirement |
04f4c2fea356
Re #351: Add extensible requirement handling method
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
9 { |
04f4c2fea356
Re #351: Add extensible requirement handling method
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
10 public interface IRequirementFactory |
04f4c2fea356
Re #351: Add extensible requirement handling method
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
11 { |
04f4c2fea356
Re #351: Add extensible requirement handling method
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
12 IRequirement CreateRequirement<SOURCE_FILE_TYPE, ENTRY_TYPE>(UnitType type, string data, IRaceFactory<SOURCE_FILE_TYPE, ENTRY_TYPE> raceFactory); |
04f4c2fea356
Re #351: Add extensible requirement handling method
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
13 string AppliesToID { get; } |
04f4c2fea356
Re #351: Add extensible requirement handling method
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
14 } |
04f4c2fea356
Re #351: Add extensible requirement handling method
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
15 } |
04f4c2fea356
Re #351: Add extensible requirement handling method
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
16 |