/// <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;
        }
Example #2
0
        private void m_pImapServer_Session_GetAcl(object sender,IMAP_e_GetAcl e)
        {
            try{
                IMAP_Session ses = (IMAP_Session)sender;

                DataView dv = m_pApi.GetFolderACL(ses.AuthenticatedUserIdentity.Name,ses.AuthenticatedUserIdentity.Name,e.Folder);
                List<IMAP_Acl_Entry> list = new List<IMAP_Acl_Entry>();
			    foreach(DataRowView drV in dv){
                    list.Add(new IMAP_Acl_Entry(drV["User"].ToString(),drV["Permissions"].ToString()));
			    }
                e.AclResponses.Add(new IMAP_r_u_Acl(e.Folder,list.ToArray()));
            }
            catch(Exception x){
                e.Response = new IMAP_r_ServerStatus(e.Response.CommandTag,"NO","Error: " + x.Message);
            }
        }