diff --git a/DiscImageChef.Checksums.csproj b/DiscImageChef.Checksums.csproj index 0f1368e41..febea8af3 100644 --- a/DiscImageChef.Checksums.csproj +++ b/DiscImageChef.Checksums.csproj @@ -46,6 +46,7 @@ + diff --git a/Register.cs b/Register.cs new file mode 100644 index 000000000..b8fd8afdd --- /dev/null +++ b/Register.cs @@ -0,0 +1,95 @@ +// /*************************************************************************** +// The Disc Image Chef +// ---------------------------------------------------------------------------- +// +// Filename : Register.cs +// Author(s) : Natalia Portillo +// +// Component : Core algorithms. +// +// --[ Description ] ---------------------------------------------------------- +// +// Registers all plugins in this assembly. +// +// --[ License ] -------------------------------------------------------------- +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// +// ---------------------------------------------------------------------------- +// Copyright © 2011-2018 Natalia Portillo +// ****************************************************************************/ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using DiscImageChef.CommonTypes.Interfaces; + +namespace DiscImageChef.Checksums +{ + public class Register : IPluginRegister + { + public List GetAllChecksumPlugins() + { + return Assembly.GetExecutingAssembly().GetTypes().Where(t => t.GetInterfaces().Contains(typeof(IChecksum))) + .Where(t => t.IsClass).ToList(); + } + + public List GetAllFilesystemPlugins() + { + return null; + } + + public List GetAllFilterPlugins() + { + return null; + } + + public List GetAllFloppyImagePlugins() + { + return null; + } + + public List GetAllMediaImagePlugins() + { + return null; + } + + public List GetAllPartitionPlugins() + { + return null; + } + + public List GetAllReadOnlyFilesystemPlugins() + { + return null; + } + + public List GetAllWritableFloppyImagePlugins() + { + return null; + } + + public List GetAllWritableImagePlugins() + { + return null; + } + } +} \ No newline at end of file