Interfaces.cs
author Dean Looyengoed
Mon, 23 May 2016 21:25:14 +0200
changeset 910 9bd60ca2c6ac
parent 217 4f852e4e12d9
child 1444 2458d5d2d562
permissions -rw-r--r--
Add offline support (mostly for Exchange accounts).
Includes several other improvements found during the rewrite/restructuring.
Dean@217
     1
´╗┐namespace pEp
Dean@217
     2
{
Dean@217
     3
    /// <summary>
Dean@217
     4
    /// Class to contain all interface definitions.
Dean@217
     5
    /// </summary>
Dean@910
     6
    internal static class Interfaces
Dean@217
     7
    {
Dean@217
     8
        /// <summary>
Dean@217
     9
        /// Interface to support deep copy of objects.
Dean@217
    10
        /// </summary>
Dean@217
    11
        public interface ICopy<T>
Dean@217
    12
        {
Dean@217
    13
            /// <summary>
Dean@217
    14
            /// Gets a deep copy of the object and all it's data.
Dean@217
    15
            /// </summary>
Dean@217
    16
            /// <returns>The deep copy of the object.</returns>
Dean@217
    17
            T Copy(); 
Dean@217
    18
        }
Dean@217
    19
Dean@217
    20
        /// <summary>
Dean@217
    21
        /// Interface to support resetting an object to it's default state/values.
Dean@217
    22
        /// </summary>
Dean@217
    23
        public interface IReset
Dean@217
    24
        {
Dean@217
    25
            /// <summary>
Dean@217
    26
            /// Resets the object to it's default state/values.
Dean@217
    27
            /// </summary>
Dean@217
    28
            void Reset();
Dean@217
    29
        }
Dean@217
    30
    }
Dean@217
    31
}