// Send permission denied by who, what, where func (c *Client) sendPermissionDenied(who *Client, where *Channel, what Permission) { d, err := proto.Marshal(&mumbleproto.PermissionDenied{ Permission: proto.Uint32(uint32(what)), ChannelId: proto.Uint32(uint32(where.Id)), Session: proto.Uint32(who.Session), Type: mumbleproto.NewPermissionDenied_DenyType(mumbleproto.PermissionDenied_Permission), }) if err != nil { c.Panic(err.String()) } c.msgchan <- &Message{ buf: d, kind: MessagePermissionDenied, } }
// Send permission denied by type (and user) func (c *Client) sendPermissionDeniedTypeUser(kind string, user *Client) { val, ok := mumbleproto.PermissionDenied_DenyType_value[kind] if ok { pd := &mumbleproto.PermissionDenied{} pd.Type = mumbleproto.NewPermissionDenied_DenyType(val) if user != nil { pd.Session = proto.Uint32(uint32(user.Session)) } d, err := proto.Marshal(pd) if err != nil { c.Panic(err.String()) return } c.msgchan <- &Message{ buf: d, kind: MessagePermissionDenied, } } else { log.Panic("Unknown permission denied type.") } }