Mercurial > repos > snowblizz-super-API-ideas
changeset 130:e147a1e9399b
Re #68: Add "export army list" function
* Add initial interface for exporting
* Add stub implementation for exporting HTML (does nothing so far)
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Fri, 28 Aug 2009 19:57:10 +0000 |
parents | 52cacdbcb001 |
children | 5145b7c61ae0 |
files | IBBoard.WarFoundry.API.csproj api/Exporters/IWarFoundryExporter.cs api/Exporters/WarFoundryHtmlExporter.cs |
diffstat | 3 files changed, 67 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/IBBoard.WarFoundry.API.csproj Wed Aug 26 19:00:50 2009 +0000 +++ b/IBBoard.WarFoundry.API.csproj Fri Aug 28 19:57:10 2009 +0000 @@ -135,6 +135,8 @@ <Compile Include="api\Factories\Xml\Zip\StringZipEntrySource.cs" /> <Compile Include="api\Factories\RequiredDataMissingException.cs" /> <Compile Include="api\Factories\Xml\WarFoundryXmlArmyParser.cs" /> + <Compile Include="api\Exporters\IWarFoundryExporter.cs" /> + <Compile Include="api\Exporters\WarFoundryHtmlExporter.cs" /> </ItemGroup> <ItemGroup> <Content Include="libs\ICSharpCode.SharpZipLib.dll" /> @@ -154,4 +156,7 @@ <HintPath>libs\ICSharpCode.SharpZipLib.dll</HintPath> </Reference> </ItemGroup> + <ItemGroup> + <Folder Include="api\Exporters\" /> + </ItemGroup> </Project> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/Exporters/IWarFoundryExporter.cs Fri Aug 28 19:57:10 2009 +0000 @@ -0,0 +1,26 @@ +// This file (IWarFoundryExporter.cs) is a part of the IBBoard.WarFoundry.API project and is copyright 2009 IBBoard +// +// 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. + +using System; +using IBBoard.WarFoundry.API.Objects; + +namespace IBBoard.WarFoundry.API.Exporters +{ + /// <summary> + /// An interface to be implemented by classes that export WarFoundry armies to other formats than "saved armies" (e.g. HTML) + /// </summary> + public interface IWarFoundryExporter + { + /// <summary> + /// Exports the army to the specified path + /// </summary> + /// <param name="army"> + /// The <see cref="Army"/> to export + /// </param> + /// <param name="path"> + /// The file path to export to + /// </param> + void ExportArmy(Army army, string path); + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/Exporters/WarFoundryHtmlExporter.cs Fri Aug 28 19:57:10 2009 +0000 @@ -0,0 +1,36 @@ +// This file (WarFoundryHtmlExporter.cs) is a part of the IBBoard.WarFoundry.API project and is copyright 2009 IBBoard +// +// 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. + +using System; +using IBBoard.WarFoundry.API.Objects; + +namespace IBBoard.WarFoundry.API.Exporters +{ + /// <summary> + /// Custom exporter that exports an army as a basic HTML file + /// </summary> + public class WarFoundryHtmlExporter : IWarFoundryExporter + { + private static WarFoundryHtmlExporter exporter; + + public static WarFoundryHtmlExporter GetDefault() + { + if (exporter == null) + { + exporter = new WarFoundryHtmlExporter(); + } + + return exporter; + } + + private WarFoundryHtmlExporter() + { + //Hide constructor + } + + public void ExportArmy(Army army, string path) + { + } + } +}