/// <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; }
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); } }