Files
pmomusic/pmoupnp/devices/services/actions/action.go

39 lines
539 B
Go

package actions
import "maps"
type Action struct {
name string
arguments ArgumentSet
}
func NewAction(name string) *Action {
ac := &Action{
name: name,
arguments: make(ArgumentSet),
}
return ac
}
func (a *Action) Name() string {
return a.name
}
func (a *Action) TypeID() string {
return "Action"
}
func (a *Action) AddArgument(arg *Argument) {
a.arguments.Insert(arg)
}
func (a *Action) NewInstance() *ActionInstance {
ac := &ActionInstance{
model: a,
arguments: maps.Clone(a.arguments),
}
return ac
}