/// <summary> /// Deletes and removes specified users default folder from collection. /// </summary> /// <param name="folder">UsersDefaultFolder to delete.</param> public void Remove(UsersDefaultFolder folder) { /* DeleteUsersDefaultFolder <virtualServerID> "<folderName>" * Responses: +OK * -ERR <errorText> */ if (folder.FolderName.ToLower() == "inbox") { throw new Exception("Inbox is permanent system folder and can't be deleted ! '"); } string id = Guid.NewGuid().ToString(); // Call TCP DeleteGroup m_pVirtualServer.Server.TcpClient.TcpStream.WriteLine("DeleteUsersDefaultFolder " + m_pVirtualServer.VirtualServerID + " " + TextUtils.QuoteString(folder.FolderName) ); string response = m_pVirtualServer.Server.ReadLine(); if (!response.ToUpper().StartsWith("+OK")) { throw new Exception(response); } m_pFolders.Remove(folder); }
/// <summary> /// Deletes and removes specified users default folder from collection. /// </summary> /// <param name="folder">UsersDefaultFolder to delete.</param> public void Remove(UsersDefaultFolder folder) { /* DeleteUsersDefaultFolder <virtualServerID> "<folderName>" Responses: +OK -ERR <errorText> */ if(folder.FolderName.ToLower() == "inbox"){ throw new Exception("Inbox is permanent system folder and can't be deleted ! '"); } string id = Guid.NewGuid().ToString(); // Call TCP DeleteGroup m_pVirtualServer.Server.TcpClient.TcpStream.WriteLine("DeleteUsersDefaultFolder " + m_pVirtualServer.VirtualServerID + " " + TextUtils.QuoteString(folder.FolderName) ); string response = m_pVirtualServer.Server.ReadLine(); if(!response.ToUpper().StartsWith("+OK")){ throw new Exception(response); } m_pFolders.Remove(folder); }
/// <summary> /// Creates and adds new users default folder into collection. /// </summary> /// <param name="folderName">Folder name.</param> /// <param name="permanent">Specifies if folder is permanent (User can't delete it).</param> public UsersDefaultFolder Add(string folderName, bool permanent) { /* AddUsersDefaultFolder <virtualServerID> "<folderName>" <permanent> * Responses: +OK * -ERR <errorText> */ if (folderName.IndexOfAny(new char[] { '\\', '/' }) > -1) { throw new Exception("Folders with path not allowed !"); } string id = Guid.NewGuid().ToString(); // Call TCP AddUsersDefaultFolder m_pVirtualServer.Server.TcpClient.TcpStream.WriteLine("AddUsersDefaultFolder " + m_pVirtualServer.VirtualServerID + " " + TextUtils.QuoteString(folderName) + " " + permanent ); string response = m_pVirtualServer.Server.ReadLine(); if (!response.ToUpper().StartsWith("+OK")) { throw new Exception(response); } UsersDefaultFolder folder = new UsersDefaultFolder(this, folderName, permanent); m_pFolders.Add(folder); return(folder); }
/// <summary> /// Creates and adds new users default folder into collection. /// </summary> /// <param name="folderName">Folder name.</param> /// <param name="permanent">Specifies if folder is permanent (User can't delete it).</param> public UsersDefaultFolder Add(string folderName,bool permanent) { /* AddUsersDefaultFolder <virtualServerID> "<folderName>" <permanent> Responses: +OK -ERR <errorText> */ if(folderName.IndexOfAny(new char[]{'\\','/'}) > -1){ throw new Exception("Folders with path not allowed !"); } string id = Guid.NewGuid().ToString(); // Call TCP AddUsersDefaultFolder m_pVirtualServer.Server.TcpClient.TcpStream.WriteLine("AddUsersDefaultFolder " + m_pVirtualServer.VirtualServerID + " " + TextUtils.QuoteString(folderName) + " " + permanent ); string response = m_pVirtualServer.Server.ReadLine(); if(!response.ToUpper().StartsWith("+OK")){ throw new Exception(response); } UsersDefaultFolder folder = new UsersDefaultFolder(this,folderName,permanent); m_pFolders.Add(folder); return folder; }