forked from OpenPDU/openpdu
52 lines
1.1 KiB
Go
52 lines
1.1 KiB
Go
package main
|
|
|
|
// VirtualOutlet definition
|
|
type VirtualOutlet struct {
|
|
name string
|
|
status bool
|
|
location string
|
|
}
|
|
|
|
// On - Switch on the virtual outlet
|
|
func (o VirtualOutlet) On() error {
|
|
o.status = true
|
|
return nil
|
|
}
|
|
|
|
// Off - Switch off the virtual outlet
|
|
func (o VirtualOutlet) Off() error {
|
|
o.status = false
|
|
return nil
|
|
}
|
|
|
|
// Toggle - Toggle the virtual outlet and return actual status
|
|
func (o VirtualOutlet) Toggle() (bool, error) {
|
|
o.status = !o.status
|
|
return o.status, nil
|
|
}
|
|
|
|
// Name - Returns the virtual outlet name
|
|
func (o VirtualOutlet) Name() (string, error) {
|
|
return o.name, nil
|
|
}
|
|
|
|
// Status - Returns the virtual outlet status
|
|
func (o VirtualOutlet) Status() (bool, error) {
|
|
return o.status, nil
|
|
}
|
|
|
|
// Location - Returns the virtual outlet location (set in configuration)
|
|
func (o VirtualOutlet) Location() string {
|
|
return o.location
|
|
}
|
|
|
|
// Board - There's no physical board, so it's always an empty Board
|
|
func (o VirtualOutlet) Board() Board {
|
|
return Board{}
|
|
}
|
|
|
|
// Channel - There's no physical channel, so it's always zero
|
|
func (o VirtualOutlet) Channel() uint {
|
|
return 0
|
|
}
|