forked from External/ergo
Merge remote-tracking branch 'origin/master' into vhosts.4
This commit is contained in:
commit
74fa58dda0
23 changed files with 624 additions and 357 deletions
|
|
@ -210,9 +210,12 @@ func (client *Client) SetPreregNick(preregNick string) {
|
|||
}
|
||||
|
||||
func (client *Client) HasMode(mode modes.Mode) bool {
|
||||
client.stateMutex.RLock()
|
||||
defer client.stateMutex.RUnlock()
|
||||
return client.flags[mode]
|
||||
// client.flags has its own synch
|
||||
return client.flags.HasMode(mode)
|
||||
}
|
||||
|
||||
func (client *Client) SetMode(mode modes.Mode, on bool) bool {
|
||||
return client.flags.SetMode(mode, on)
|
||||
}
|
||||
|
||||
func (client *Client) Channels() (result []*Channel) {
|
||||
|
|
@ -282,29 +285,8 @@ func (channel *Channel) setKey(key string) {
|
|||
channel.key = key
|
||||
}
|
||||
|
||||
func (channel *Channel) HasMode(mode modes.Mode) bool {
|
||||
channel.stateMutex.RLock()
|
||||
defer channel.stateMutex.RUnlock()
|
||||
return channel.flags[mode]
|
||||
}
|
||||
|
||||
func (channel *Channel) Founder() string {
|
||||
channel.stateMutex.RLock()
|
||||
defer channel.stateMutex.RUnlock()
|
||||
return channel.registeredFounder
|
||||
}
|
||||
|
||||
// set a channel mode, return whether it was already set
|
||||
func (channel *Channel) setMode(mode modes.Mode, enable bool) (already bool) {
|
||||
channel.stateMutex.Lock()
|
||||
already = (channel.flags[mode] == enable)
|
||||
if !already {
|
||||
if enable {
|
||||
channel.flags[mode] = true
|
||||
} else {
|
||||
delete(channel.flags, mode)
|
||||
}
|
||||
}
|
||||
channel.stateMutex.Unlock()
|
||||
return
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue