/// <summary> /// Raises <b>List</b> event. /// </summary> /// <param name="refName">Folder reference name.</param> /// <param name="folder">Folder filter.</param> /// <returns>Returns event args.</returns> private IMAP_e_List OnList(string refName,string folder) { IMAP_e_List eArgs = new IMAP_e_List(refName,folder); if(this.List != null){ this.List(this,eArgs); } return eArgs; }
private void m_pImapServer_Session_List(object sender,IMAP_e_List e) { IMAP_Session ses = (IMAP_Session)sender; string[] folders = m_pApi.GetFolders(ses.AuthenticatedUserIdentity.Name,true); foreach(string folder in folders){ if(string.IsNullOrEmpty(e.FolderReferenceName) || folder.StartsWith(e.FolderReferenceName,StringComparison.InvariantCultureIgnoreCase)){ if(FolderMatches(e.FolderFilter,folder)){ e.Folders.Add(new IMAP_r_u_List(folder,'/',null)); } } } }