コード例 #1
0
        /// <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;
        }
コード例 #2
0
ファイル: VirtualServer.cs プロジェクト: dioptre/nkd
        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));
                    }
                }
			}
        }