mirror of
https://codeberg.org/cunicu/cunicu.git
synced 2025-09-26 21:01:14 +08:00
29 lines
761 B
Go
29 lines
761 B
Go
// SPDX-FileCopyrightText: 2023-2025 Steffen Vogel <post@steffenvogel.de>
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package daemon
|
|
|
|
import (
|
|
"net"
|
|
"slices"
|
|
|
|
"golang.zx2c4.com/wireguard/wgctrl/wgtypes"
|
|
)
|
|
|
|
type PeerModifiedHandler interface {
|
|
OnPeerModified(p *Peer, old *wgtypes.Peer, m PeerModifier, ipsAdded, ipsRemoved []net.IPNet)
|
|
}
|
|
|
|
// AddModifiedHandler registers a new handler which is called whenever the peer has been modified.
|
|
func (p *Peer) AddModifiedHandler(h PeerModifiedHandler) {
|
|
if !slices.Contains(p.onModified, h) {
|
|
p.onModified = append(p.onModified, h)
|
|
}
|
|
}
|
|
|
|
func (p *Peer) RemoveModifiedHandler(h PeerModifiedHandler) {
|
|
if idx := slices.Index(p.onModified, h); idx > -1 {
|
|
p.onModified = slices.Delete(p.onModified, idx, idx+1)
|
|
}
|
|
}
|