<Type Name="BinaryPropertyListParser" FullName="Claunia.PropertyList.BinaryPropertyListParser">
  <TypeSignature Language="C#" Value="public class BinaryPropertyListParser" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit BinaryPropertyListParser extends System.Object" />
  <AssemblyInfo>
    <AssemblyName>plist-cil</AssemblyName>
    <AssemblyVersion>1.13.0.0</AssemblyVersion>
    <AssemblyVersion>1.14.0.0</AssemblyVersion>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces />
  <Docs>
    <summary>
      <para>
            Parses property lists that are in Apple's binary format.
            Use this class when you are sure about the format of the property list.
            Otherwise use the PropertyListParser class.
            </para>
      <para>
            Parsing is done by calling the static <see cref="M:Claunia.PropertyList.BinaryPropertyListParser.Parse(System.Byte[])" />,
            <see cref="M:Claunia.PropertyList.BinaryPropertyListParser.Parse(System.IO.FileInfo)" /> and <see cref="M:Claunia.PropertyList.BinaryPropertyListParser.Parse(System.IO.Stream)" /> methods.
            </para>
    </summary>
    <remarks>To be added.</remarks>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected BinaryPropertyListParser ();" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor() cil managed" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.13.0.0</AssemblyVersion>
        <AssemblyVersion>1.14.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Parameters />
      <Docs>
        <summary>
            Protected constructor so that instantiation is fully controlled by the
            static parse methods.
            </summary>
        <remarks>To be added.</remarks>
        <see cref="M:Claunia.PropertyList.BinaryPropertyListParser.Parse(System.Byte[])" />
      </Docs>
    </Member>
    <Member MemberName="CopyOfRange">
      <MemberSignature Language="C#" Value="public static byte[] CopyOfRange (byte[] src, int startIndex, int endIndex);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig unsigned int8[] CopyOfRange(unsigned int8[] src, int32 startIndex, int32 endIndex) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.13.0.0</AssemblyVersion>
        <AssemblyVersion>1.14.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Byte[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="src" Type="System.Byte[]" />
        <Parameter Name="startIndex" Type="System.Int32" />
        <Parameter Name="endIndex" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="src">The source array.</param>
        <param name="startIndex">The index from which to start copying.</param>
        <param name="endIndex">The index until which to copy.</param>
        <summary>
            Copies a part of a byte array into a new array.
            </summary>
        <returns>The copied array.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Parse">
      <MemberSignature Language="C#" Value="public static Claunia.PropertyList.NSObject Parse (byte[] data);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Claunia.PropertyList.NSObject Parse(unsigned int8[] data) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.13.0.0</AssemblyVersion>
        <AssemblyVersion>1.14.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>Claunia.PropertyList.NSObject</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="data" Type="System.Byte[]" />
      </Parameters>
      <Docs>
        <param name="data">The binary property list's data.</param>
        <summary>
            Parses a binary property list from a byte array.
            </summary>
        <returns>The root object of the property list. This is usually a NSDictionary but can also be a NSArray.</returns>
        <remarks>To be added.</remarks>
        <exception cref="T:Claunia.PropertyList.PropertyListFormatException">When the property list's format could not be parsed.</exception>
      </Docs>
    </Member>
    <Member MemberName="Parse">
      <MemberSignature Language="C#" Value="public static Claunia.PropertyList.NSObject Parse (System.IO.FileInfo f);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Claunia.PropertyList.NSObject Parse(class System.IO.FileInfo f) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.13.0.0</AssemblyVersion>
        <AssemblyVersion>1.14.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>Claunia.PropertyList.NSObject</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="f" Type="System.IO.FileInfo" />
      </Parameters>
      <Docs>
        <param name="f">The binary property list file</param>
        <summary>
            Parses a binary property list file.
            </summary>
        <returns>The root object of the property list. This is usually a NSDictionary but can also be a NSArray.</returns>
        <remarks>To be added.</remarks>
        <exception cref="T:Claunia.PropertyList.PropertyListFormatException">When the property list's format could not be parsed.</exception>
      </Docs>
    </Member>
    <Member MemberName="Parse">
      <MemberSignature Language="C#" Value="public static Claunia.PropertyList.NSObject Parse (System.IO.Stream fs);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Claunia.PropertyList.NSObject Parse(class System.IO.Stream fs) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.13.0.0</AssemblyVersion>
        <AssemblyVersion>1.14.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>Claunia.PropertyList.NSObject</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="fs" Type="System.IO.Stream" />
      </Parameters>
      <Docs>
        <param name="fs">The input stream that points to the property list's data.</param>
        <summary>
            Parses a binary property list from an input stream.
            </summary>
        <returns>The root object of the property list. This is usually a NSDictionary but can also be a NSArray.</returns>
        <remarks>To be added.</remarks>
        <exception cref="T:Claunia.PropertyList.PropertyListFormatException">When the property list's format could not be parsed.</exception>
      </Docs>
    </Member>
    <Member MemberName="ParseDouble">
      <MemberSignature Language="C#" Value="public static double ParseDouble (byte[] bytes);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig float64 ParseDouble(unsigned int8[] bytes) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.13.0.0</AssemblyVersion>
        <AssemblyVersion>1.14.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Double</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="bytes" Type="System.Byte[]" />
      </Parameters>
      <Docs>
        <param name="bytes">The bytes representing the double.</param>
        <summary>
            Parses a double from a (big-endian) byte array.
            </summary>
        <returns>The double represented by the given bytes.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="ParseDouble">
      <MemberSignature Language="C#" Value="public static double ParseDouble (byte[] bytes, int startIndex, int endIndex);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig float64 ParseDouble(unsigned int8[] bytes, int32 startIndex, int32 endIndex) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.13.0.0</AssemblyVersion>
        <AssemblyVersion>1.14.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Double</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="bytes" Type="System.Byte[]" />
        <Parameter Name="startIndex" Type="System.Int32" />
        <Parameter Name="endIndex" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="bytes">The bytes representing the double.</param>
        <param name="startIndex">Beginning of the double in the byte array.</param>
        <param name="endIndex">End of the double in the byte array.</param>
        <summary>
            Parses a double from a (big-endian) byte array.
            </summary>
        <returns>The double represented by the given bytes.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="ParseLong">
      <MemberSignature Language="C#" Value="public static long ParseLong (byte[] bytes);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig int64 ParseLong(unsigned int8[] bytes) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.13.0.0</AssemblyVersion>
        <AssemblyVersion>1.14.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int64</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="bytes" Type="System.Byte[]" />
      </Parameters>
      <Docs>
        <param name="bytes">The bytes representing the long integer.</param>
        <summary>
            Parses a long from a (big-endian) byte array.
            </summary>
        <returns>The long integer represented by the given bytes.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="ParseLong">
      <MemberSignature Language="C#" Value="public static long ParseLong (byte[] bytes, int startIndex, int endIndex);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig int64 ParseLong(unsigned int8[] bytes, int32 startIndex, int32 endIndex) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.13.0.0</AssemblyVersion>
        <AssemblyVersion>1.14.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int64</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="bytes" Type="System.Byte[]" />
        <Parameter Name="startIndex" Type="System.Int32" />
        <Parameter Name="endIndex" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="bytes">The bytes representing the long integer.</param>
        <param name="startIndex">Beginning of the long in the byte array.</param>
        <param name="endIndex">End of the long in the byte array.</param>
        <summary>
            Parses a long from a (big-endian) byte array.
            </summary>
        <returns>The long integer represented by the given bytes.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="ParseUnsignedInt">
      <MemberSignature Language="C#" Value="public static long ParseUnsignedInt (byte[] bytes);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig int64 ParseUnsignedInt(unsigned int8[] bytes) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.13.0.0</AssemblyVersion>
        <AssemblyVersion>1.14.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int64</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="bytes" Type="System.Byte[]" />
      </Parameters>
      <Docs>
        <param name="bytes">The unsigned integer represented by the given bytes.</param>
        <summary>
            Parses an unsigned integers from a byte array.
            </summary>
        <returns>The byte array containing the unsigned integer.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="ParseUnsignedInt">
      <MemberSignature Language="C#" Value="public static long ParseUnsignedInt (byte[] bytes, int startIndex, int endIndex);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig int64 ParseUnsignedInt(unsigned int8[] bytes, int32 startIndex, int32 endIndex) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.13.0.0</AssemblyVersion>
        <AssemblyVersion>1.14.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int64</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="bytes" Type="System.Byte[]" />
        <Parameter Name="startIndex" Type="System.Int32" />
        <Parameter Name="endIndex" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="bytes">The byte array containing the unsigned integer.</param>
        <param name="startIndex">Beginning of the unsigned int in the byte array.</param>
        <param name="endIndex">End of the unsigned int in the byte array.</param>
        <summary>
            Parses an unsigned integer from a byte array.
            </summary>
        <returns>The unsigned integer represented by the given bytes.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
  </Members>
</Type>
