Files
cunicu/pkg/daemon/peer_handlers.go
Steffen Vogel 3bee839348 fix: Update copyright years
Signed-off-by: Steffen Vogel <post@steffenvogel.de>
2025-01-01 22:45:39 +01:00

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)
}
}