コード例 #1
0
        public static MailboxSignatureSectionsContainer Create(MailboxSignatureSectionType sectionsToCreate, IMailboxSignatureSectionCreator sectionCreator)
        {
            MailboxSignatureSectionsContainer mailboxSignatureSectionsContainer = new MailboxSignatureSectionsContainer();

            mailboxSignatureSectionsContainer.InternalCreate(sectionsToCreate, sectionCreator);
            return(mailboxSignatureSectionsContainer);
        }
コード例 #2
0
 internal MailboxSignatureSectionMetadata(MailboxSignatureSectionType type, short version, int elementsNumber, int length)
 {
     this.type           = type;
     this.version        = version;
     this.elementsNumber = elementsNumber;
     this.length         = length;
     this.Validate();
 }
コード例 #3
0
 private void InternalCreate(MailboxSignatureSectionType sectionsToCreate, IMailboxSignatureSectionCreator sectionCreator)
 {
     for (MailboxSignatureSectionType mailboxSignatureSectionType = MailboxSignatureSectionType.BasicInformation; mailboxSignatureSectionType != MailboxSignatureSectionType.None; mailboxSignatureSectionType <<= 1)
     {
         MailboxSignatureSectionMetadata metadata;
         byte[] array;
         if (sectionsToCreate.HasFlag(mailboxSignatureSectionType) && sectionCreator.Create(mailboxSignatureSectionType, out metadata, out array))
         {
             this.sections.Add(new MailboxSignatureSectionsContainer.SignatureSection(metadata, new ArraySegment <byte>(array)));
         }
     }
 }
コード例 #4
0
 bool IMailboxSignatureSectionCreator.Create(MailboxSignatureSectionType sectionType, out MailboxSignatureSectionMetadata sectionMetadata, out byte[] sectionData)
 {
     sectionMetadata = new MailboxSignatureSectionMetadata(MailboxSignatureSectionType.BasicInformation, 1, 1, this.mailboxBasicInformation.Length);
     sectionData     = this.mailboxBasicInformation;
     return(true);
 }
コード例 #5
0
        public MailboxSignatureSectionsContainer.SignatureSection GetSignatureSection(MailboxSignatureSectionType type)
        {
            int num = this.sections.FindIndex((MailboxSignatureSectionsContainer.SignatureSection e) => e.Metadata.Type == type);

            if (num != -1)
            {
                return(this.sections.ElementAt(num));
            }
            return(new MailboxSignatureSectionsContainer.SignatureSection(new MailboxSignatureSectionMetadata(MailboxSignatureSectionType.None, 0, 0, 0), default(ArraySegment <byte>)));
        }