public UserFolderAcl Add(string userOrGroup, IMAP_ACL_Flags permissions) { Guid.NewGuid().ToString(); this.m_pFolder.User.VirtualServer.Server.TCP_Client.TcpStream.WriteLine(string.Concat(new object[] { "SetUserFolderAcl ", this.m_pFolder.User.VirtualServer.VirtualServerID, " ", TextUtils.QuoteString(this.m_pFolder.User.UserName), " ", TextUtils.QuoteString(this.m_pFolder.FolderFullPath), " ", TextUtils.QuoteString(userOrGroup), " ", (int)permissions })); string text = this.m_pFolder.User.VirtualServer.Server.ReadLine(); if (!text.ToUpper().StartsWith("+OK")) { throw new Exception(text); } UserFolderAcl userFolderAcl = new UserFolderAcl(this, this.m_pFolder, userOrGroup, permissions); this.m_pAclEntries.Add(userFolderAcl); return(userFolderAcl); }
public void Remove(UserFolderAcl aclEntry) { Guid.NewGuid().ToString(); this.m_pFolder.User.VirtualServer.Server.TCP_Client.TcpStream.WriteLine(string.Concat(new string[] { "DeleteUserFolderAcl ", this.m_pFolder.User.VirtualServer.VirtualServerID, " ", TextUtils.QuoteString(this.m_pFolder.User.UserName), " ", TextUtils.QuoteString(this.m_pFolder.FolderFullPath), " ", TextUtils.QuoteString(aclEntry.UserOrGroup) })); string text = this.m_pFolder.User.VirtualServer.Server.ReadLine(); if (!text.ToUpper().StartsWith("+OK")) { throw new Exception(text); } this.m_pAclEntries.Remove(aclEntry); }