/// <summary> /// Raises <b>LSub</b> event. /// </summary> /// <param name="refName">Folder reference name.</param> /// <param name="folder">Folder filter.</param> /// <returns>Returns event args.</returns> private IMAP_e_LSub OnLSub(string refName,string folder) { IMAP_e_LSub eArgs = new IMAP_e_LSub(refName,folder); if(this.LSub != null){ this.LSub(this,eArgs); } return eArgs; }
private void m_pImapServer_Session_LSub(object sender,IMAP_e_LSub e) { IMAP_Session ses = (IMAP_Session)sender; string[] folders = m_pApi.GetSubscribedFolders(ses.AuthenticatedUserIdentity.Name); 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_LSub(folder,'/',null)); } } } }