From 9657c1973f23ef9faca8449245fc868aa028c074 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Wed, 27 Feb 2019 08:49:42 +0000 Subject: [PATCH] Add more optimized marshallers. --- Attributes/MarshallingPropertiesAttribute.cs | 65 -------------------- DiscImageChef.CommonTypes.csproj | 2 - Enums/BitEndian.cs | 51 --------------- 3 files changed, 118 deletions(-) delete mode 100644 Attributes/MarshallingPropertiesAttribute.cs delete mode 100644 Enums/BitEndian.cs diff --git a/Attributes/MarshallingPropertiesAttribute.cs b/Attributes/MarshallingPropertiesAttribute.cs deleted file mode 100644 index e03f042..0000000 --- a/Attributes/MarshallingPropertiesAttribute.cs +++ /dev/null @@ -1,65 +0,0 @@ -// /*************************************************************************** -// The Disc Image Chef -// ---------------------------------------------------------------------------- -// -// Filename : MarshallingPropertiesAttribute.cs -// Author(s) : Natalia Portillo -// -// Component : Common types. -// -// --[ Description ] ---------------------------------------------------------- -// -// Declares properties of structs for marshalling. -// -// --[ 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-2019 Natalia Portillo -// ****************************************************************************/ - -using System; -using DiscImageChef.CommonTypes.Enums; - -namespace DiscImageChef.CommonTypes.Attributes -{ - /// - /// Defines properties to help marshalling structs from binary data - /// - [AttributeUsage(AttributeTargets.Struct)] - public class MarshallingPropertiesAttribute : Attribute - { - /// c - public BitEndian Endian { get; } - /// - /// Tells if the structure, or any nested structure, has any non-value type (e.g. arrays, strings, etc). - /// - public bool HasReferences { get; set; } - - /// Defines properties to help marshalling structs from binary data - /// Defines properties to help marshalling structs from binary data - public MarshallingPropertiesAttribute(BitEndian endian) - { - Endian = endian; - HasReferences = true; - } - } -} \ No newline at end of file diff --git a/DiscImageChef.CommonTypes.csproj b/DiscImageChef.CommonTypes.csproj index 8b8e007..7800e70 100644 --- a/DiscImageChef.CommonTypes.csproj +++ b/DiscImageChef.CommonTypes.csproj @@ -49,8 +49,6 @@ Metadata/cicm.cs - - diff --git a/Enums/BitEndian.cs b/Enums/BitEndian.cs deleted file mode 100644 index ed15650..0000000 --- a/Enums/BitEndian.cs +++ /dev/null @@ -1,51 +0,0 @@ -// /*************************************************************************** -// The Disc Image Chef -// ---------------------------------------------------------------------------- -// -// Filename : BitEndian.cs -// Author(s) : Natalia Portillo -// -// Component : Common types. -// -// --[ Description ] ---------------------------------------------------------- -// -// Defines enumerations of bit endianness. -// -// --[ 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-2019 Natalia Portillo -// ****************************************************************************/ - -namespace DiscImageChef.CommonTypes.Enums -{ - /// Describes the endianness of bits on a data structure - public enum BitEndian - { - /// Little-endian, or least significant bit - Little, - /// Big-endian, or most significant bit - Big, - /// PDP-11 endian, little endian except for 32-bit integers where the 16 halves are swapped between them - Pdp - } -} \ No newline at end of file