Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }