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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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