MAPIPropertyValue.cs
author Dean
Fri, 07 Oct 2016 11:02:57 +0200
changeset 1350 8fdce6140e29
parent 1224 51bc4eefa2dd
child 1360 697801c205db
permissions -rw-r--r--
Change more places to .net standard capitalization rules.
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@1350
     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@1224
    96
Dean@1224
    97
        /// <summary>
Dean@1224
    98
        /// Value for PidTagAttachTag which specifies the attachment is TNEF.
Dean@1224
    99
        /// </summary>
Dean@1224
   100
        public static readonly byte[] PidTagAttachTagTNEF = {0x2A, 0x86, 0x48, 0x86, 0xF7, 0x14, 0x03, 0x0A, 0x01};
Dean@1224
   101
Dean@1224
   102
        /// <summary>
Dean@1224
   103
        /// Value for PidTagAttachTag which specifies the attachment is in an application-specific format.
Dean@1224
   104
        /// </summary>
Dean@1224
   105
        public static readonly byte[] PidTagAttachTagAfStorage = {0x2A, 0x86, 0x48, 0x86, 0xF7, 0x14, 0x03, 0x0A, 0x03, 0x02, 0x01};
Dean@1224
   106
Dean@1224
   107
        /// <summary>
Dean@1224
   108
        /// Value for PidTagAttachTag which specifies the attachment is MIME.
Dean@1224
   109
        /// </summary>
Dean@1224
   110
        public static readonly byte[] PidTagAttachTagMIME = {0x2A, 0x86, 0x48, 0x86, 0xF7, 0x14, 0x03, 0x0A, 0x04};
Dean@1224
   111
Dean@1224
   112
        /// <summary>
Dean@1224
   113
        /// Value for PidTagMessageClass indicating a normal e-mail message.
Dean@1224
   114
        /// See: https://msdn.microsoft.com/en-us/library/ee200767
Dean@1224
   115
        /// </summary>
Dean@1224
   116
        public const string PidTagMessageClassNormalMessage = "IPM.Note";
Dean@1224
   117
Dean@1224
   118
        /// <summary>
Dean@1224
   119
        /// Value for PidTagMessageClass indicating the message is secure (S/MIME) and can also be signed.
Dean@1224
   120
        /// See: https://msdn.microsoft.com/en-us/library/ee200767
Dean@1224
   121
        /// </summary>
Dean@1224
   122
        public const string PidTagMessageClassSMIME = "IPM.Note.SMIME";
Dean@1224
   123
Dean@1224
   124
        /// <summary>
Dean@1224
   125
        /// Value for PidTagMessageClass indicating the message is secure (S/MIME) and clear signed.
Dean@1224
   126
        /// See: https://msdn.microsoft.com/en-us/library/ee200767
Dean@1224
   127
        /// </summary>
Dean@1224
   128
        public const string PidTagMessageClassSMIMEMultipartSigned = "IPM.Note.SMIME.MultipartSigned";
Dean@1224
   129
Dean@1224
   130
        /// <summary>
Dean@1224
   131
        /// Value for PidTagMessageClass indicating the message is a secure read receipt
Dean@1224
   132
        /// See: https://msdn.microsoft.com/en-us/library/ee200767
Dean@1224
   133
        /// </summary>
Dean@1224
   134
        public const string PidTagMessageClassSMIMEReceipt = "IPM.Note.Receipt.SMIME";
Dean@787
   135
    }
Dean@787
   136
}