Ejemplo n.º 1
0
        private Acl TranslateRingMasterAclToZkprAcl(Acl rmAcl)
        {
            Acl.Perm p = (Acl.Perm)rmAcl.Perms;
            ZkprProtocolMessages.Perms zp = 0;

            if ((p & Acl.Perm.READ) == Acl.Perm.READ)
            {
                zp |= ZkprProtocolMessages.Perms.Read;
            }

            if ((p & Acl.Perm.WRITE) == Acl.Perm.WRITE)
            {
                zp |= ZkprProtocolMessages.Perms.Read;
            }

            if ((p & Acl.Perm.DELETE) == Acl.Perm.DELETE)
            {
                zp |= ZkprProtocolMessages.Perms.Delete;
            }

            if ((p & Acl.Perm.CREATE) == Acl.Perm.CREATE)
            {
                zp |= ZkprProtocolMessages.Perms.Create;
            }

            if ((p & Acl.Perm.ADMIN) == Acl.Perm.ADMIN)
            {
                zp |= ZkprProtocolMessages.Perms.Admin;
            }

            if ((p & Acl.Perm.ALL) == Acl.Perm.ALL)
            {
                zp |= ZkprProtocolMessages.Perms.All;
            }

            Id  zkprId  = new Id(rmAcl.Id.Scheme, rmAcl.Id.Identifier.Equals("world") ? "anyone" : rmAcl.Id.Identifier);
            Acl zkprAcl = new Acl((int)zp, zkprId);

            return(zkprAcl);
        }
Ejemplo n.º 2
0
        private Acl TranslateZkprAclToRmAcl(Acl a)
        {
            Acl.Perm p = 0;
            ZkprProtocolMessages.Perms zp = (ZkprProtocolMessages.Perms)a.Perms;

            if ((zp & ZkprProtocolMessages.Perms.Read) == ZkprProtocolMessages.Perms.Read)
            {
                p |= Acl.Perm.READ;
            }

            if ((zp & ZkprProtocolMessages.Perms.Write) == ZkprProtocolMessages.Perms.Write)
            {
                p |= Acl.Perm.WRITE;
            }

            if ((zp & ZkprProtocolMessages.Perms.Delete) == ZkprProtocolMessages.Perms.Delete)
            {
                p |= Acl.Perm.DELETE;
            }

            if ((zp & ZkprProtocolMessages.Perms.Create) == ZkprProtocolMessages.Perms.Create)
            {
                p |= Acl.Perm.CREATE;
            }

            if ((zp & ZkprProtocolMessages.Perms.Admin) == ZkprProtocolMessages.Perms.Admin)
            {
                p |= Acl.Perm.ADMIN;
            }

            if ((zp & ZkprProtocolMessages.Perms.All) == ZkprProtocolMessages.Perms.All)
            {
                p |= Acl.Perm.ALL;
            }

            Id rmId = new Id(a.Id.Scheme, a.Id.Identifier.Equals("anyone") ? "world" : a.Id.Identifier);

            return(new Acl((int)p, rmId));
        }