Exemplo n.º 1
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="response">Default IMAP server response.</param>
        /// <exception cref="ArgumentNullException">Is raised when <b>response</b> is null reference.</exception>
        internal IMAP_e_Namespace(IMAP_r_ServerStatus response)
        {
            if(response == null){
                throw new ArgumentNullException("response");
            }

            m_pResponse = response;
        }
Exemplo n.º 2
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="responseLine">IMAP server response line.</param>
        /// <exception cref="ArgumentNullException">Is raised when <b>responseLine</b> is null.</exception>
        public IMAP_ClientException(string responseLine) : base(responseLine)
        {
            if(responseLine == null){
                throw new ArgumentNullException("responseLine");
            }

            m_pResponse = IMAP_r_ServerStatus.Parse(responseLine);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="response">IMAP server response.</param>
        /// <exception cref="ArgumentNullException">Is raised when <b>response</b> is null reference.</exception>
        public IMAP_ClientException(IMAP_r_ServerStatus response) : base(response.ToString())
        {
            if(response == null){
                throw new ArgumentNullException("response");
            }

            m_pResponse = response;            
        }
Exemplo n.º 4
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="criteria">Serach criteria.</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <exception cref="ArgumentNullException">Is raised when <b>criteria</b> or <b>response</b> is null reference.</exception>
        internal IMAP_e_Search(IMAP_Search_Key criteria,IMAP_r_ServerStatus response)
        {
            if(criteria == null){
                throw new ArgumentNullException("criteria");
            }

            m_pResponse = response;
            m_pCriteria = criteria;
        }
Exemplo n.º 5
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="quotaRoot">Quota root name.</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <exception cref="ArgumentNullException">Is raised when <b>quotaRoot</b> is null reference.</exception>
        internal IMAP_e_GetQuota(string quotaRoot,IMAP_r_ServerStatus response)
        {
            if(quotaRoot == null){
                throw new ArgumentNullException("quotaRoot");
            }

            m_QuotaRoot = quotaRoot;
            m_pResponse = response;

            m_pQuotaResponses = new List<IMAP_r_u_Quota>();
        }
Exemplo n.º 6
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="folder">Folder name with optional path.</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <exception cref="ArgumentNullException">Is raised when <b>folder</b> or <b>response</b> is null reference.</exception>
        internal IMAP_e_MyRights(string folder,IMAP_r_ServerStatus response)
        {
            if(folder == null){
                throw new ArgumentNullException("folder");
            }
            if(response == null){
                throw new ArgumentNullException("response");
            }

            m_Folder    = folder;
            m_pResponse = response;
        }
Exemplo n.º 7
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="messagesInfo">Messages info.</param>
        /// <param name="fetchDataType">Fetch data type(Specifies what data AddData method expects).</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <exception cref="ArgumentNullException">Is raised when <b>messagesInfo</b> or <b>response</b> is null reference.</exception>
        internal IMAP_e_Fetch(IMAP_MessageInfo[] messagesInfo,IMAP_Fetch_DataType fetchDataType,IMAP_r_ServerStatus response)
        {
            if(messagesInfo == null){
                throw new ArgumentNullException("messagesInfo");
            }
            if(response == null){
                throw new ArgumentNullException("response");
            }

            m_pMessagesInfo = messagesInfo;
            m_FetchDataType = fetchDataType;
            m_pResponse     = response;
        }
Exemplo n.º 8
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="folder">Folder name with optional path.</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <exception cref="ArgumentNullException">Is raised when <b>folder</b> or <b>response</b> is null reference.</exception>
        internal IMAP_e_GetAcl(string folder,IMAP_r_ServerStatus response)
        {
            if(folder == null){
                throw new ArgumentNullException("folder");
            }
            if(response == null){
                throw new ArgumentNullException("response");
            }

            m_Folder    = folder;
            m_pResponse = response;

            m_pAclResponses = new List<IMAP_r_u_Acl>();
        }
Exemplo n.º 9
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="messagesInfo">Messages info.</param>
        /// <param name="fetchDataType">Fetch data type(Specifies what data AddData method expects).</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <exception cref="ArgumentNullException">Is raised when <b>messagesInfo</b> or <b>response</b> is null reference.</exception>
        internal IMAP_e_Fetch(IMAP_MessageInfo[] messagesInfo, IMAP_Fetch_DataType fetchDataType, IMAP_r_ServerStatus response)
        {
            if (messagesInfo == null)
            {
                throw new ArgumentNullException("messagesInfo");
            }
            if (response == null)
            {
                throw new ArgumentNullException("response");
            }

            m_pMessagesInfo = messagesInfo;
            m_FetchDataType = fetchDataType;
            m_pResponse     = response;
        }
Exemplo n.º 10
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="folder">Folder name with optional path.</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <exception cref="ArgumentNullException">Is raised when <b>folder</b> or <b>response</b> is null reference.</exception>
        internal IMAP_e_GetAcl(string folder, IMAP_r_ServerStatus response)
        {
            if (folder == null)
            {
                throw new ArgumentNullException("folder");
            }
            if (response == null)
            {
                throw new ArgumentNullException("response");
            }

            m_Folder    = folder;
            m_pResponse = response;

            m_pAclResponses = new List <IMAP_r_u_Acl>();
        }
Exemplo n.º 11
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="folder">Folder name with optional path.</param>
        /// <param name="msgInfo">Message info.</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <exception cref="ArgumentNullException">Is riased when <b>folder</b>,<b>msgInfo</b> or <b>response</b> is null reference.</exception>
        internal IMAP_e_Expunge(string folder,IMAP_MessageInfo msgInfo,IMAP_r_ServerStatus response)
        {
            if(folder == null){
                throw new ArgumentNullException("folder");
            }
            if(msgInfo == null){
                throw new ArgumentNullException("msgInfo");
            }
            if(response == null){
                throw new ArgumentNullException("response");
            }

            m_pResponse = response;
            m_Folder    = folder;
            m_pMsgInfo  = msgInfo;
        }
Exemplo n.º 12
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="folder">Folder name with optional path.</param>
        /// <param name="identifier">ACL identifier (normally user or group name).</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <exception cref="ArgumentNullException">Is raised when <b>folder</b>,<b>identifier</b> or <b>response</b> is null reference.</exception>
        internal IMAP_e_DeleteAcl(string folder,string identifier,IMAP_r_ServerStatus response)
        {
            if(folder == null){
                throw new ArgumentNullException("folder");
            }
            if(identifier == null){
                throw new ArgumentNullException("identifier");
            }
            if(response == null){
                throw new ArgumentNullException("response");
            }

            m_pResponse  = response;
            m_Folder     = folder;
            m_Identifier = identifier;
        }
Exemplo n.º 13
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="responseCode">IMAP response code(BAD,NO).</param>
        /// <param name="responseText">Response text.</param>
        /// <exception cref="ArgumentNullException">Is raised when <b>responseCode</b> or <b>responseText</b> is null reference.</exception>
        /// <exception cref="ArgumentException">Is raised when any of the arguments has invalid value.</exception>
        public IMAP_ClientException(string responseCode,string responseText) : base(responseCode + " " + responseText)
        {
            if(responseCode == null){
                throw new ArgumentNullException("responseCode");
            }
            if(responseCode == string .Empty){
                throw new ArgumentException("Argument 'responseCode' value must be specified.","responseCode");
            }
            if(responseText == null){
                throw new ArgumentNullException("responseText");
            }
            if(responseText == string .Empty){
                throw new ArgumentException("Argument 'responseText' value must be specified.","responseText");
            }

            m_pResponse = IMAP_r_ServerStatus.Parse(responseCode + " " + responseText);
        }
Exemplo n.º 14
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="folder">Folder name with optional path.</param>
        /// <param name="flags">Message flags.</param>
        /// <param name="date">IMAP internal date. Value DateTime.MinValue means not specified.</param>
        /// <param name="size">Message size in bytes.</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <exception cref="ArgumentNullException">Is riased when <b>folder</b>,<b>flags</b> or <b>response</b> is null reference.</exception>
        internal IMAP_e_Append(string folder,string[] flags,DateTime date,int size,IMAP_r_ServerStatus response)
        {
            if(folder == null){
                throw new ArgumentNullException("folder");
            }
            if(flags == null){
                throw new ArgumentNullException("flags");
            }
            if(response == null){
                throw new ArgumentNullException("response");
            }

            m_Folder    = folder;
            m_pFlags    = flags;
            m_Date      = date;
            m_Size      = size;
            m_pResponse = response;
        }
Exemplo n.º 15
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="folder">Folder name with optional path.</param>
        /// <param name="msgInfo">Message info.</param>
        /// <param name="flagsSetType">Flags set type.</param>
        /// <param name="flags">Flags.</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <exception cref="ArgumentNullException">Is raised when <b>folder</b>,<b>msgInfo</b>,<b>flags</b> or <b>response</b> is null reference.</exception>
        internal IMAP_e_Store(string folder,IMAP_MessageInfo msgInfo,IMAP_Flags_SetType flagsSetType,string[] flags,IMAP_r_ServerStatus response)
        {
            if(folder == null){
                throw new ArgumentNullException("folder");
            }
            if(msgInfo == null){
                throw new ArgumentNullException("msgInfo");
            }
            if(flags == null){
                throw new ArgumentNullException("flags");
            }

            m_pResponse = response;
            m_Folder    = folder;
            m_pMsgInfo  = msgInfo;
            m_SetType   = flagsSetType;
            m_pFlags    = flags;
        }
Exemplo n.º 16
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="folder">Folder name with optional path.</param>
        /// <param name="identifier">ACL identifier (normally user or group name).</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <exception cref="ArgumentNullException">Is raised when <b>folder</b>,<b>identifier</b> or <b>response</b> is null reference.</exception>
        internal IMAP_e_DeleteAcl(string folder, string identifier, IMAP_r_ServerStatus response)
        {
            if (folder == null)
            {
                throw new ArgumentNullException("folder");
            }
            if (identifier == null)
            {
                throw new ArgumentNullException("identifier");
            }
            if (response == null)
            {
                throw new ArgumentNullException("response");
            }

            m_pResponse  = response;
            m_Folder     = folder;
            m_Identifier = identifier;
        }
Exemplo n.º 17
0
        /// <summary>
        /// Defaultc constructor.
        /// </summary>
        /// <param name="cmdTag">Command tag.</param>
        /// <param name="folder">Folder name with optional path.</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <exception cref="ArgumentNullException">Is raised when <b>cmdTag</b>,<b>folder</b> or <b>response</b> is null reference.</exception>
        /// <exception cref="ArgumentException">Is raised when any of the arguments has invalid value.</exception>
        internal IMAP_e_Folder(string cmdTag,string folder,IMAP_r_ServerStatus response)
        {
            if(cmdTag == null){
                throw new ArgumentNullException("cmdTag");
            }
            if(cmdTag == string.Empty){
                throw new ArgumentException("Argument 'cmdTag' value must be specified.","cmdTag");
            }
            if(folder == null){
                throw new ArgumentNullException("folder");
            }
            if(response == null){
                throw new ArgumentNullException("response");
            }

            m_pResponse = response;
            m_CmdTag    = cmdTag;
            m_Folder    = folder;
        }
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="folder">Folder name with optional path.</param>
        /// <param name="msgInfo">Message info.</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <exception cref="ArgumentNullException">Is riased when <b>folder</b>,<b>msgInfo</b> or <b>response</b> is null reference.</exception>
        internal IMAP_e_Expunge(string folder, IMAP_MessageInfo msgInfo, IMAP_r_ServerStatus response)
        {
            if (folder == null)
            {
                throw new ArgumentNullException("folder");
            }
            if (msgInfo == null)
            {
                throw new ArgumentNullException("msgInfo");
            }
            if (response == null)
            {
                throw new ArgumentNullException("response");
            }

            m_pResponse = response;
            m_Folder    = folder;
            m_pMsgInfo  = msgInfo;
        }
Exemplo n.º 19
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="sourceFolder">Source folder name with optional path.</param>
        /// <param name="targetFolder">Target folder name </param>
        /// <param name="messagesInfo">Messages info.</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <exception cref="ArgumentNullException">Is raised when <b>sourceFolder</b>,<b>targetFolder</b>,<b>messagesInfo</b> or <b>response</b> is null reference.</exception>
        internal IMAP_e_Copy(string sourceFolder,string targetFolder,IMAP_MessageInfo[] messagesInfo,IMAP_r_ServerStatus response)
        {
            if(sourceFolder == null){
                throw new ArgumentNullException("sourceFolder");
            }
            if(targetFolder == null){
                throw new ArgumentNullException("targetFolder");
            }
            if(messagesInfo == null){
                throw new ArgumentNullException("messagesInfo");
            }
            if(response == null){
                throw new ArgumentNullException("response");
            }

            m_pResponse     = response;
            m_SourceFolder  = sourceFolder;
            m_TargetFolder  = targetFolder;
            m_pMessagesInfo = messagesInfo;
        }
Exemplo n.º 20
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="folder">Folder name with optional path.</param>
        /// <param name="msgInfo">Message info.</param>
        /// <param name="flagsSetType">Flags set type.</param>
        /// <param name="flags">Flags.</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <exception cref="ArgumentNullException">Is raised when <b>folder</b>,<b>msgInfo</b>,<b>flags</b> or <b>response</b> is null reference.</exception>
        internal IMAP_e_Store(string folder, IMAP_MessageInfo msgInfo, IMAP_Flags_SetType flagsSetType, string[] flags, IMAP_r_ServerStatus response)
        {
            if (folder == null)
            {
                throw new ArgumentNullException("folder");
            }
            if (msgInfo == null)
            {
                throw new ArgumentNullException("msgInfo");
            }
            if (flags == null)
            {
                throw new ArgumentNullException("flags");
            }

            m_pResponse = response;
            m_Folder    = folder;
            m_pMsgInfo  = msgInfo;
            m_SetType   = flagsSetType;
            m_pFlags    = flags;
        }
Exemplo n.º 21
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="folder">Folder name with optional path.</param>
        /// <param name="identifier">ACL identifier (normally user or group name).</param>
        /// <param name="flagsSetType">Flags set type.</param>
        /// <param name="rights">Identifier rights.</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <exception cref="ArgumentNullException">Is raised when <b>folder</b>,<b>identifier</b>,<b>rights</b> or <b>response</b> is null reference.</exception>
        internal IMAP_e_SetAcl(string folder,string identifier,IMAP_Flags_SetType flagsSetType,string rights,IMAP_r_ServerStatus response)
        {
            if(folder == null){
                throw new ArgumentNullException("folder");
            }
            if(identifier == null){
                throw new ArgumentNullException("identifier");
            }
            if(rights == null){
                throw new ArgumentNullException("rights");
            }
            if(response == null){
                throw new ArgumentNullException("response");
            }

            m_pResponse  = response;
            m_Folder     = folder;
            m_Identifier = identifier;
            m_SetType    = flagsSetType;
            m_Rights     = rights;
        }
Exemplo n.º 22
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="folder">Folder name with optional path.</param>
        /// <param name="flags">Message flags.</param>
        /// <param name="date">IMAP internal date. Value DateTime.MinValue means not specified.</param>
        /// <param name="size">Message size in bytes.</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <exception cref="ArgumentNullException">Is riased when <b>folder</b>,<b>flags</b> or <b>response</b> is null reference.</exception>
        internal IMAP_e_Append(string folder, string[] flags, DateTime date, int size, IMAP_r_ServerStatus response)
        {
            if (folder == null)
            {
                throw new ArgumentNullException("folder");
            }
            if (flags == null)
            {
                throw new ArgumentNullException("flags");
            }
            if (response == null)
            {
                throw new ArgumentNullException("response");
            }

            m_Folder    = folder;
            m_pFlags    = flags;
            m_Date      = date;
            m_Size      = size;
            m_pResponse = response;
        }
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="responseCode">IMAP response code(BAD,NO).</param>
        /// <param name="responseText">Response text.</param>
        /// <exception cref="ArgumentNullException">Is raised when <b>responseCode</b> or <b>responseText</b> is null reference.</exception>
        /// <exception cref="ArgumentException">Is raised when any of the arguments has invalid value.</exception>
        public IMAP_ClientException(string responseCode, string responseText) : base(responseCode + " " + responseText)
        {
            if (responseCode == null)
            {
                throw new ArgumentNullException("responseCode");
            }
            if (responseCode == string.Empty)
            {
                throw new ArgumentException("Argument 'responseCode' value must be specified.", "responseCode");
            }
            if (responseText == null)
            {
                throw new ArgumentNullException("responseText");
            }
            if (responseText == string.Empty)
            {
                throw new ArgumentException("Argument 'responseText' value must be specified.", "responseText");
            }

            m_pResponse = IMAP_r_ServerStatus.Parse(responseCode + " " + responseText);
        }
        /// <summary>
        /// Defaultc constructor.
        /// </summary>
        /// <param name="cmdTag">Command tag.</param>
        /// <param name="folder">Folder name with optional path.</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <exception cref="ArgumentNullException">Is raised when <b>cmdTag</b>,<b>folder</b> or <b>response</b> is null reference.</exception>
        /// <exception cref="ArgumentException">Is raised when any of the arguments has invalid value.</exception>
        internal IMAP_e_Folder(string cmdTag, string folder, IMAP_r_ServerStatus response)
        {
            if (cmdTag == null)
            {
                throw new ArgumentNullException("cmdTag");
            }
            if (cmdTag == string.Empty)
            {
                throw new ArgumentException("Argument 'cmdTag' value must be specified.", "cmdTag");
            }
            if (folder == null)
            {
                throw new ArgumentNullException("folder");
            }
            if (response == null)
            {
                throw new ArgumentNullException("response");
            }

            m_pResponse = response;
            m_CmdTag    = cmdTag;
            m_Folder    = folder;
        }
Exemplo n.º 25
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="sourceFolder">Source folder name with optional path.</param>
        /// <param name="targetFolder">Target folder name </param>
        /// <param name="messagesInfo">Messages info.</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <exception cref="ArgumentNullException">Is raised when <b>sourceFolder</b>,<b>targetFolder</b>,<b>messagesInfo</b> or <b>response</b> is null reference.</exception>
        internal IMAP_e_Copy(string sourceFolder, string targetFolder, IMAP_MessageInfo[] messagesInfo, IMAP_r_ServerStatus response)
        {
            if (sourceFolder == null)
            {
                throw new ArgumentNullException("sourceFolder");
            }
            if (targetFolder == null)
            {
                throw new ArgumentNullException("targetFolder");
            }
            if (messagesInfo == null)
            {
                throw new ArgumentNullException("messagesInfo");
            }
            if (response == null)
            {
                throw new ArgumentNullException("response");
            }

            m_pResponse     = response;
            m_SourceFolder  = sourceFolder;
            m_TargetFolder  = targetFolder;
            m_pMessagesInfo = messagesInfo;
        }
Exemplo n.º 26
0
        /// <summary>
        /// Raises <b>OnUnsubscribe</b> event.
        /// </summary>
        /// <param name="cmdTag">Command tag.</param>
        /// <param name="folder">Folder name with optional path.</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <returns>Returns event args.</returns>
        private IMAP_e_Folder OnUnsubscribe(string cmdTag,string folder,IMAP_r_ServerStatus response)
        {
            IMAP_e_Folder eArgs = new IMAP_e_Folder(cmdTag,folder,response);
            if(this.Unsubscribe != null){
                this.Unsubscribe(this,eArgs);
            }

            return eArgs;
        }
Exemplo n.º 27
0
        /// <summary>
        /// Raises <b>Expunge</b> event.
        /// </summary>
        /// <param name="msgInfo">Messgae info.</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <returns>Returns event args.</returns>
        private IMAP_e_Expunge OnExpunge(IMAP_MessageInfo msgInfo,IMAP_r_ServerStatus response)
        {
            IMAP_e_Expunge eArgs = new IMAP_e_Expunge(m_pSelectedFolder.Folder,msgInfo,response);
            if(this.Expunge != null){
                this.Expunge(this,eArgs);
            }

            return eArgs;
        }
Exemplo n.º 28
0
        /// <summary>
        /// Raises <b>Store</b> event.
        /// </summary>
        /// <param name="msgInfo">Message info.</param>
        /// <param name="setType">Flags set type.</param>
        /// <param name="flags">Flags.</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <returns>Returns event args.</returns>
        private IMAP_e_Store OnStore(IMAP_MessageInfo msgInfo,IMAP_Flags_SetType setType,string[] flags,IMAP_r_ServerStatus response)
        {
            IMAP_e_Store eArgs = new IMAP_e_Store(m_pSelectedFolder.Folder,msgInfo,setType,flags,response);
            if(this.Store != null){
                this.Store(this,eArgs);
            }

            return eArgs;
        }
Exemplo n.º 29
0
        /// <summary>
        /// Raises <b>Copy</b> event.
        /// </summary>
        /// <param name="targetFolder">Target folder name with optional path.</param>
        /// <param name="messagesInfo">Messages info.</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <returns>Returns event args.</returns>
        private IMAP_e_Copy OnCopy(string targetFolder,IMAP_MessageInfo[] messagesInfo,IMAP_r_ServerStatus response)
        {
            IMAP_e_Copy eArgs = new IMAP_e_Copy(m_pSelectedFolder.Folder,targetFolder,messagesInfo,response);
            if(this.Copy != null){
                this.Copy(this,eArgs);
            }

            return eArgs;
        }
Exemplo n.º 30
0
        /// <summary>
        /// Raises <b>ListRights</b> event.
        /// </summary>
        /// <param name="folder">Folder name with optional path.</param>
        /// <param name="identifier">ACL identifier (normally user or group name).</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <returns>Returns event args.</returns>
        private IMAP_e_ListRights OnListRights(string folder,string identifier,IMAP_r_ServerStatus response)
        {
            IMAP_e_ListRights eArgs = new IMAP_e_ListRights(folder,identifier,response);
            if(this.ListRights != null){
                this.ListRights(this,eArgs);
            }

            return eArgs;
        }
Exemplo n.º 31
0
        /// <summary>
        /// Raises <b>MyRights</b> event.
        /// </summary>
        /// <param name="folder">Folder name with optional path.</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <returns>Returns event args.</returns>
        private IMAP_e_MyRights OnMyRights(string folder,IMAP_r_ServerStatus response)
        {
            IMAP_e_MyRights eArgs = new IMAP_e_MyRights(folder,response);
            if(this.MyRights != null){
                this.MyRights(this,eArgs);
            }

            return eArgs;
        }
Exemplo n.º 32
0
        /// <summary>
        /// Raises <b>SetAcl</b> event.
        /// </summary>
        /// <param name="folder">Folder name with optional path.</param>
        /// <param name="identifier">ACL identifier (normally user or group name).</param>
        /// <param name="flagsSetType">Flags set type.</param>
        /// <param name="rights">Identifier rights.</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <returns>Returns event args.</returns>
        private IMAP_e_SetAcl OnSetAcl(string folder,string identifier,IMAP_Flags_SetType flagsSetType,string rights,IMAP_r_ServerStatus response)
        {
            IMAP_e_SetAcl eArgs = new IMAP_e_SetAcl(folder,identifier,flagsSetType,rights,response);
            if(this.SetAcl != null){
                this.SetAcl(this,eArgs);
            }

            return eArgs;
        }
Exemplo n.º 33
0
        /// <summary>
        /// Raises <b>DeleteAcl</b> event.
        /// </summary>
        /// <param name="folder">Folder name with optional path.</param>
        /// <param name="identifier">ACL identifier (normally user or group name).</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <returns>Returns event args.</returns>
        private IMAP_e_DeleteAcl OnDeleteAcl(string folder,string identifier,IMAP_r_ServerStatus response)
        {
            IMAP_e_DeleteAcl eArgs = new IMAP_e_DeleteAcl(folder,identifier,response);
            if(this.DeleteAcl != null){
                this.DeleteAcl(this,eArgs);
            }

            return eArgs;
        }
Exemplo n.º 34
0
        /// <summary>
        /// Raises <b>GetAcl</b> event.
        /// </summary>
        /// <param name="folder">Folder name with optional path.</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <returns>Returns event args.</returns>
        private IMAP_e_GetAcl OnGetAcl(string folder,IMAP_r_ServerStatus response)
        {
            IMAP_e_GetAcl eArgs = new IMAP_e_GetAcl(folder,response);
            if(this.GetAcl != null){
                this.GetAcl(this,eArgs);
            }

            return eArgs;
        }
Exemplo n.º 35
0
        /// <summary>
        /// Raises <b>GetQuota</b> event.
        /// </summary>
        /// <param name="quotaRoot">Quota root name.</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <returns>Returns event args.</returns>
        private IMAP_e_GetQuota OnGetQuota(string quotaRoot,IMAP_r_ServerStatus response)
        {
            IMAP_e_GetQuota eArgs = new IMAP_e_GetQuota(quotaRoot,response);
            if(this.GetQuota != null){
                this.GetQuota(this,eArgs);
            }

            return eArgs;
        }
Exemplo n.º 36
0
        /// <summary>
        /// Raises <b>GetQuotaRoot</b> event.
        /// </summary>
        /// <param name="folder">Folder name with optional path.</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <returns>Returns event args.</returns>
        private IMAP_e_GetQuotaRoot OnGetGuotaRoot(string folder,IMAP_r_ServerStatus response)
        {
            IMAP_e_GetQuotaRoot eArgs = new IMAP_e_GetQuotaRoot(folder,response);
            if(this.GetQuotaRoot != null){
                this.GetQuotaRoot(this,eArgs);
            }

            return eArgs;
        }
Exemplo n.º 37
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="folder">Folder name with optional path.</param>
        /// <param name="identifier">ACL identifier (normally user or group name).</param>
        /// <param name="flagsSetType">Flags set type.</param>
        /// <param name="rights">Identifier rights.</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <exception cref="ArgumentNullException">Is raised when <b>folder</b>,<b>identifier</b>,<b>rights</b> or <b>response</b> is null reference.</exception>
        internal IMAP_e_SetAcl(string folder, string identifier, IMAP_Flags_SetType flagsSetType, string rights, IMAP_r_ServerStatus response)
        {
            if (folder == null)
            {
                throw new ArgumentNullException("folder");
            }
            if (identifier == null)
            {
                throw new ArgumentNullException("identifier");
            }
            if (rights == null)
            {
                throw new ArgumentNullException("rights");
            }
            if (response == null)
            {
                throw new ArgumentNullException("response");
            }

            m_pResponse  = response;
            m_Folder     = folder;
            m_Identifier = identifier;
            m_SetType    = flagsSetType;
            m_Rights     = rights;
        }
Exemplo n.º 38
0
        /// <summary>
        /// Raises <b>Namespace</b> event.
        /// </summary>
        /// <param name="response">Default IMAP server response.</param>
        /// <returns>Returns event args.</returns>
        private IMAP_e_Namespace OnNamespace(IMAP_r_ServerStatus response)
        {
            IMAP_e_Namespace eArgs = new IMAP_e_Namespace(response);            
            if(this.Namespace != null){                
                this.Namespace(this,eArgs);
            }

            return eArgs;
        }
Exemplo n.º 39
0
        private void EXPUNGE(string cmdTag,string cmdText)
        {
            /* RFC 3501 6.4.3. EXPUNGE Command.
                Arguments:  none

                Responses:  untagged responses: EXPUNGE

                Result:     OK - expunge completed
                            NO - expunge failure: can't expunge (e.g., permission
                                 denied)
                            BAD - command unknown or arguments invalid

                The EXPUNGE command permanently removes all messages that have the
                \Deleted flag set from the currently selected mailbox.  Before
                returning an OK to the client, an untagged EXPUNGE response is
                sent for each message that is removed.

                Example:    C: A202 EXPUNGE
                            S: * 3 EXPUNGE
                            S: * 3 EXPUNGE
                            S: * 5 EXPUNGE
                            S: * 8 EXPUNGE
                            S: A202 OK EXPUNGE completed

                    Note: In this example, messages 3, 4, 7, and 11 had the
                    \Deleted flag set.  See the description of the EXPUNGE
                    response for further explanation.
            */

            if(!this.IsAuthenticated){
                m_pResponseSender.SendResponseAsync(new IMAP_r_ServerStatus(cmdTag,"NO","Authentication required."));

                return;
            }
            if(m_pSelectedFolder == null){
                m_pResponseSender.SendResponseAsync(new IMAP_r_ServerStatus(cmdTag,"NO","Error: This command is valid only in selected state."));

                return;
            }

            // Store start time
			long startTime = DateTime.Now.Ticks;
            
            IMAP_r_ServerStatus response = new IMAP_r_ServerStatus(cmdTag,"OK","EXPUNGE completed in " + ((DateTime.Now.Ticks - startTime) / (decimal)10000000).ToString("f2") + " seconds.");
            for(int i=0;i<m_pSelectedFolder.MessagesInfo.Length;i++){
                IMAP_MessageInfo msgInfo = m_pSelectedFolder.MessagesInfo[i];
                if(msgInfo.ContainsFlag("Deleted")){
                    IMAP_e_Expunge e = OnExpunge(msgInfo,response);
                    // Expunge failed.
                    if(!string.Equals(e.Response.ResponseCode,"OK",StringComparison.InvariantCultureIgnoreCase)){
                        m_pResponseSender.SendResponseAsync(e.Response);

                        return;
                    }
                    m_pSelectedFolder.RemoveMessage(msgInfo);

                    m_pResponseSender.SendResponseAsync(new IMAP_r_u_Expunge(i + 1));
                }
            }
            m_pSelectedFolder.Reindex();
            
            m_pResponseSender.SendResponseAsync(response);
        }
Exemplo n.º 40
0
        /// <summary>
        /// Raises <b>StoreMessage</b> event.
        /// </summary>
        /// <param name="folder">Folder name with optional path.</param>
        /// <param name="flags">Message flags.</param>
        /// <param name="date">Message IMAP internal date.</param>
        /// <param name="size">Message size in bytes.</param>
        /// <param name="response">Default IMAP server response.</param>
        /// <returns>Returns event args.</returns>
        private IMAP_e_Append OnAppend(string folder,string[] flags,DateTime date,int size,IMAP_r_ServerStatus response)
        {
            IMAP_e_Append eArgs = new IMAP_e_Append(folder,flags,date,size,response);
            if(this.Append != null){
                this.Append(this,eArgs);
            }

            return eArgs;
        }