diff --git a/event/event.go b/event/event.go index ef1e6ae..a670105 100644 --- a/event/event.go +++ b/event/event.go @@ -65,3 +65,17 @@ func (broadcaster *FuncBroadcaster) Broadcast () { listener() } } + +type multiCookie []Cookie + +// MultiCookie creates a single cookie that, when closed, closes a list of other +// cookies. +func MultiCookie (cookies ...Cookie) Cookie { + return multiCookie(cookies) +} + +func (cookies multiCookie) Close () { + for _, cookie := range cookies { + cookie.Close() + } +}