/// <summary>
        /// Gets if message Header is needed for matching.
        /// </summary>
        /// <returns></returns>
        public bool IsHeaderNeeded()
        {
            foreach (object searchKey in m_pSearchKeys)
            {
                if (SearchGroup.IsHeaderNeededForKey(searchKey))
                {
                    return(true);
                }
            }

            return(false);
        }
예제 #2
0
        // TODO: We have envelope, see if Header is needed or can use envelope for it

        #region method IsHeaderNeeded

        /// <summary>
        /// Gets if message Header is needed for matching.
        /// </summary>
        /// <returns></returns>
        public bool IsHeaderNeeded()
        {
            if (m_SearchKeyName == "HEADER")
            {
                return(true);
            }
            else if (m_SearchKeyName == "NOT")
            {
                return(SearchGroup.IsHeaderNeededForKey(m_SearchKeyValue));
            }
            else if (m_SearchKeyName == "OR")
            {
                object serachKey1 = ((object[])m_SearchKeyValue)[0];
                object serachKey2 = ((object[])m_SearchKeyValue)[1];

                if (SearchGroup.IsHeaderNeededForKey(serachKey1) || SearchGroup.IsHeaderNeededForKey(serachKey2))
                {
                    return(true);
                }
            }
            else if (m_SearchKeyName == "SENTBEFORE")
            {
                return(true);
            }
            else if (m_SearchKeyName == "SENTON")
            {
                return(true);
            }
            else if (m_SearchKeyName == "SENTSINCE")
            {
                return(true);
            }
            else if (m_SearchKeyName == "TEXT")
            {
                return(true);
            }

            return(false);
        }