Esempio n. 1
0
 public static byte[] Encode(ImapSearchCriteria criteria)
 {
     return (new SearchCriteriaEncoder()).EncodeCriteria(criteria);
 }
Esempio n. 2
0
            private byte[] EncodeCriteria(ImapSearchCriteria criteria)
            {
                Enqueue(new[] {criteria});
                Enqueue(Octets.CRLF);

                Send();

                try {
                  var innerStream = Stream.InnerStream as MemoryStream;

                  innerStream.Close();

                  var ret = new ByteString(innerStream.ToArray());

                  return ret.Substring(0, ret.Length - 2 /*CRLF*/).ByteArray;
                }
                finally {
                  Stream.Close();
                }
            }
Esempio n. 3
0
 // OR <search-key1> <search-key2>
 //     Messages that match either search key.
 public ImapSearchCriteria Or(ImapSearchCriteria searchingCriteria)
 {
     return this | searchingCriteria;
 }
Esempio n. 4
0
        private static IEnumerable<ImapCapability> MergeRequiredCapabilities(ImapSearchCriteria x, ImapSearchCriteria y)
        {
            var requiredCapabilities = new List<ImapCapability>(x.requiredCapabilities);

              foreach (var cap in y.requiredCapabilities) {
            if (!requiredCapabilities.Contains(cap))
              requiredCapabilities.Add(cap);
              }

              return requiredCapabilities;
        }
Esempio n. 5
0
 // AND
 public ImapSearchCriteria And(ImapSearchCriteria searchingCriteria)
 {
     return this & searchingCriteria;
 }
Esempio n. 6
0
 public static ImapSearchCriteria Or(ImapSearchCriteria x, ImapSearchCriteria y)
 {
     return x | y;
 }
Esempio n. 7
0
 public static ImapSearchCriteria Not(ImapSearchCriteria c)
 {
     return !c;
 }
Esempio n. 8
0
 public static ImapSearchCriteria And(ImapSearchCriteria x, ImapSearchCriteria y)
 {
     return x & y;
 }
Esempio n. 9
0
        private static void TraverseCriteriaAssertion(ImapSearchCriteria criteria, params ImapString[] expected)
        {
            var index = 0;

              criteria.Traverse(delegate(ImapString val) {
            Assert.Less(index, expected.Length);
            Assert.IsInstanceOfType(expected[index].GetType(), val);
            Assert.AreEqual((string)expected[index], (string)val);
            index++;
              });
        }