MAPIPropertyValue.cs
author Dean Looyengoed
Mon, 23 May 2016 21:25:14 +0200
changeset 910 9bd60ca2c6ac
parent 787 5cd68ac62d71
child 1224 51bc4eefa2dd
permissions -rw-r--r--
Add offline support (mostly for Exchange accounts).
Includes several other improvements found during the rewrite/restructuring.
Dean@787
     1
´╗┐using System;
Dean@787
     2
Dean@787
     3
namespace pEp
Dean@787
     4
{
Dean@787
     5
    /// <summary>
Dean@787
     6
    /// MAPI helper class containing all defined property values.
Dean@787
     7
    /// </summary>
Dean@910
     8
    internal class MAPIPropertyValue
Dean@787
     9
    {
Dean@787
    10
        /// <summary>
Dean@787
    11
        /// Enumeration of flags for PidTagMessageFlags which specifies the status of the Message object.
Dean@787
    12
        /// After the first successful call to the RopSaveChangesMessage ROP ([MS-OXCROPS] section 2.2.6.3), 
Dean@787
    13
        /// as described in section 2.2.3.3, these flags are read-only for the client.
Dean@787
    14
        /// </summary>
Dean@787
    15
        [Flags]
Dean@787
    16
        public enum EnumPidTagMessageFlags : int
Dean@787
    17
        {
Dean@787
    18
            /// <summary>
Dean@787
    19
            /// The message is marked as having been read.
Dean@787
    20
            /// </summary>
Dean@787
    21
            mfRead = 0x00000001,
Dean@787
    22
Dean@787
    23
            /// <summary>
Dean@787
    24
            /// The message has not been modified since it was first saved (if unsent) or it was delivered (if sent).
Dean@787
    25
            /// This flag is always read-only for the client.
Dean@787
    26
            /// </summary>
Dean@787
    27
            mfUnmodified = 0x00000002,
Dean@787
    28
Dean@787
    29
            /// <summary>
Dean@787
    30
            /// The message is marked for sending as a result of a call to the RopSubmitMessage ROP.
Dean@787
    31
            /// This flag is always read-only for the client.
Dean@787
    32
            /// </summary>
Dean@787
    33
            mfSubmitted = 0x00000004,
Dean@787
    34
Dean@787
    35
            /// <summary>
Dean@787
    36
            /// The message is still being composed and is treated as a Draft Message object. 
Dean@787
    37
            /// This bit is cleared by the server when responding to the RopSubmitMessage ROP ([MS-OXCROPS] section 2.2.7.1) with a success code.
Dean@787
    38
            /// </summary>
Dean@787
    39
            mfUnsent = 0x00000008,
Dean@787
    40
Dean@787
    41
            /// <summary>
Dean@787
    42
            /// The message has at least one attachment. This flag corresponds to the message's PidTagHasAttachments property (section 2.2.1.2).
Dean@787
    43
            /// This flag is always read-only for the client.
Dean@787
    44
            /// </summary>
Dean@787
    45
            mfHasAttach = 0x00000010,
Dean@787
    46
Dean@787
    47
            /// <summary>
Dean@787
    48
            /// The user receiving the message was also the user who sent the message.
Dean@787
    49
            /// This flag is always read-only for the client.
Dean@787
    50
            /// </summary>
Dean@787
    51
            mfFromMe = 0x00000020,
Dean@787
    52
Dean@787
    53
            /// <summary>
Dean@787
    54
            /// The message is an FAI (folder associated information) message.
Dean@787
    55
            /// This flag is always read-only for the client.
Dean@787
    56
            /// </summary>
Dean@787
    57
            mfFAI = 0x00000040,
Dean@787
    58
Dean@787
    59
            /// <summary>
Dean@787
    60
            /// The message includes a request for a resend operation with a non-delivery report.
Dean@787
    61
            /// For more details, see [MS-OXOMSG] section 3.2.4.5.
Dean@787
    62
            /// </summary>
Dean@787
    63
            mfResend = 0x00000080,
Dean@787
    64
Dean@787
    65
            /// <summary>
Dean@787
    66
            /// The user who sent the message has requested notification when a recipient (1) first reads it.
Dean@787
    67
            /// This flag is always read-only for the client.
Dean@787
    68
            /// </summary>
Dean@787
    69
            mfNotifyRead = 0x00000100,
Dean@787
    70
Dean@787
    71
            /// <summary>
Dean@787
    72
            /// The user who sent the message has requested notification when a recipient (1) deletes it before reading or the Message object expires.
Dean@787
    73
            /// This flag is always read-only for the client.
Dean@787
    74
            /// </summary>
Dean@787
    75
            mfNotifyUnread = 0x00000200,
Dean@787
    76
Dean@787
    77
            /// <summary>
Dean@787
    78
            /// The message has been read at least once. This flag is set or cleared by the server whenever the mfRead flag is set or cleared. Clients SHOULD ignore this flag.
Dean@787
    79
            /// This flag is always read-only for the client.
Dean@787
    80
            /// </summary>
Dean@787
    81
            mfEverRead = 0x00000400,
Dean@787
    82
Dean@787
    83
            /// <summary>
Dean@787
    84
            /// The incoming message arrived over the Internet and originated either outside the organization or from a source the gateway does not consider trusted.
Dean@787
    85
            /// This flag is always read-only for the client.
Dean@787
    86
            /// </summary>
Dean@787
    87
            mfInternet = 0x00002000,
Dean@787
    88
Dean@787
    89
            /// <summary>
Dean@787
    90
            /// The incoming message arrived over an external link other than X.400 or the Internet. 
Dean@787
    91
            /// It originated either outside the organization or from a source the gateway does not consider trusted.
Dean@787
    92
            /// This flag is always read-only for the client.
Dean@787
    93
            /// </summary>
Dean@787
    94
            mfUntrusted = 0x00008000
Dean@787
    95
        }
Dean@787
    96
    }
Dean@787
    97
}