diff --git a/Libraries/UniversalEditor.Core/DataFormatImplementationArea.cs b/Libraries/UniversalEditor.Core/DataFormatImplementationArea.cs new file mode 100644 index 00000000..db0e268c --- /dev/null +++ b/Libraries/UniversalEditor.Core/DataFormatImplementationArea.cs @@ -0,0 +1,43 @@ +// +// DataFormatImplementationArea.cs +// +// Author: +// Michael Becker +// +// Copyright (c) 2022 Mike Becker's Software +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +using System; +namespace UniversalEditor +{ + [Flags] + public enum DataFormatImplementationArea + { + None = 0, + /// + /// For FileSystem data formats. Indicates that a file list can be + /// retrieved, even if the files cannot be extracted. + /// + List, + /// + /// Indicates that the data format can properly read a file. + /// + Load, + /// + /// Indicates that the data format can properly save a file. + /// + Save, + All = List | Load | Save + } +} diff --git a/Libraries/UniversalEditor.Core/ImplementationStatusAttribute.cs b/Libraries/UniversalEditor.Core/DataFormatImplementationStatusAttribute.cs similarity index 63% rename from Libraries/UniversalEditor.Core/ImplementationStatusAttribute.cs rename to Libraries/UniversalEditor.Core/DataFormatImplementationStatusAttribute.cs index 7da8558e..602721ea 100644 --- a/Libraries/UniversalEditor.Core/ImplementationStatusAttribute.cs +++ b/Libraries/UniversalEditor.Core/DataFormatImplementationStatusAttribute.cs @@ -21,13 +21,19 @@ using System; namespace UniversalEditor { - public class ImplementationStatusAttribute : Attribute + public class DataFormatImplementationStatusAttribute : Attribute { - private DataFormatImplementationStatus _dfStatus = DataFormatImplementationStatus.None; + public DataFormatImplementationArea Area { get; } = DataFormatImplementationArea.None; + public ImplementationStatus Status { get; }= ImplementationStatus.None; - public ImplementationStatusAttribute(DataFormatImplementationStatus status) + public DataFormatImplementationStatusAttribute(ImplementationStatus status) + : this(DataFormatImplementationArea.All, status) { - _dfStatus = status; + } + public DataFormatImplementationStatusAttribute(DataFormatImplementationArea area, ImplementationStatus status) + { + Area = area; + Status = status; } } } diff --git a/Libraries/UniversalEditor.Core/DataFormatImplementationStatus.cs b/Libraries/UniversalEditor.Core/ImplementationStatus.cs similarity index 89% rename from Libraries/UniversalEditor.Core/DataFormatImplementationStatus.cs rename to Libraries/UniversalEditor.Core/ImplementationStatus.cs index 35332152..52e82555 100644 --- a/Libraries/UniversalEditor.Core/DataFormatImplementationStatus.cs +++ b/Libraries/UniversalEditor.Core/ImplementationStatus.cs @@ -21,12 +21,10 @@ using System; namespace UniversalEditor { - public enum DataFormatImplementationStatus + public enum ImplementationStatus { None = 0, - Incomplete = -1, - Load = 1, - Save = 2, - Complete = 3 + Incomplete, + Complete } } diff --git a/Libraries/UniversalEditor.Core/UniversalEditor.Core.csproj b/Libraries/UniversalEditor.Core/UniversalEditor.Core.csproj index d4a0e241..6eaa9eb8 100644 --- a/Libraries/UniversalEditor.Core/UniversalEditor.Core.csproj +++ b/Libraries/UniversalEditor.Core/UniversalEditor.Core.csproj @@ -101,8 +101,9 @@ - - + + + diff --git a/Plugins/UniversalEditor.Plugins.FileSystem/UniversalEditor.Plugins.FileSystem.csproj b/Plugins/UniversalEditor.Plugins.FileSystem/UniversalEditor.Plugins.FileSystem.csproj index 59091cee..183a622f 100644 --- a/Plugins/UniversalEditor.Plugins.FileSystem/UniversalEditor.Plugins.FileSystem.csproj +++ b/Plugins/UniversalEditor.Plugins.FileSystem/UniversalEditor.Plugins.FileSystem.csproj @@ -209,7 +209,6 @@ - @@ -284,7 +283,6 @@ - @@ -306,7 +304,6 @@ - @@ -397,7 +394,6 @@ -