triggers

package
v0.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 28, 2021 License: GPL-3.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	StateChangeName         = "state_change"
	StateChangeFunctionName = "automationTriggerStateChanged"
	StateChangeQueueSize    = 10
)
View Source
const (
	TopicSystem        = "system"
	EventStart         = "START"
	EventStop          = "STOP"
	SystemName         = "system"
	SystemFunctionName = "automationTriggerSystem"
	SystemQueueSize    = 10
)
View Source
const (
	TimeName         = "time"
	TimeFunctionName = "automationTriggerTime"
	TimeQueueSize    = 10
)
View Source
const (
	Name             = "triggers"
	TopicSystemStart = "system_start"
	TopicSystemStop  = "system_stop"
)
View Source
const (
	CronOptionTrigger = "cron"
)

Variables

This section is empty.

Functions

func New

func New() plugins.Plugable

Types

type IGetTrigger

type IGetTrigger interface {
	GetTrigger(string) (ITrigger, error)
}

type IRegistrar

type IRegistrar interface {
	RegisterTrigger(ITrigger) error
	UnregisterTrigger(string) error
	TriggerList() []string
}

type ITrigger

type ITrigger interface {
	Name() string
	AsyncAttach(wg *sync.WaitGroup)
	Subscribe(Subscriber) error
	Unsubscribe(Subscriber) error
	FunctionName() string
}

todo deAttach

func NewStateChangedTrigger

func NewStateChangedTrigger(eventBus event_bus.EventBus) ITrigger

func NewSystemTrigger

func NewSystemTrigger(eventBus event_bus.EventBus) ITrigger

func NewTimeTrigger

func NewTimeTrigger(eventBus event_bus.EventBus) ITrigger

type StateChangeTrigger

type StateChangeTrigger struct {
	// contains filtered or unexported fields
}

func (*StateChangeTrigger) AsyncAttach

func (t *StateChangeTrigger) AsyncAttach(wg *sync.WaitGroup)

func (*StateChangeTrigger) FunctionName

func (b *StateChangeTrigger) FunctionName() string

func (*StateChangeTrigger) Name

func (b *StateChangeTrigger) Name() string

func (*StateChangeTrigger) Subscribe

func (t *StateChangeTrigger) Subscribe(options Subscriber) error

func (*StateChangeTrigger) Unsubscribe

func (t *StateChangeTrigger) Unsubscribe(options Subscriber) error

type Subscriber

type Subscriber struct {
	EntityId *common.EntityId
	Handler  interface{}
	Payload  m.Attributes
}

type SystemTrigger

type SystemTrigger struct {
	// contains filtered or unexported fields
}

func (*SystemTrigger) AsyncAttach

func (t *SystemTrigger) AsyncAttach(wg *sync.WaitGroup)

func (*SystemTrigger) FunctionName

func (b *SystemTrigger) FunctionName() string

func (*SystemTrigger) Name

func (b *SystemTrigger) Name() string

func (*SystemTrigger) Subscribe

func (t *SystemTrigger) Subscribe(options Subscriber) error

func (*SystemTrigger) Unsubscribe

func (t *SystemTrigger) Unsubscribe(options Subscriber) error

type TimeTrigger

type TimeTrigger struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func (*TimeTrigger) AsyncAttach

func (t *TimeTrigger) AsyncAttach(wg *sync.WaitGroup)

func (*TimeTrigger) FunctionName

func (b *TimeTrigger) FunctionName() string

func (*TimeTrigger) Name

func (b *TimeTrigger) Name() string

func (*TimeTrigger) Subscribe

func (t *TimeTrigger) Subscribe(options Subscriber) error

func (*TimeTrigger) Unsubscribe

func (t *TimeTrigger) Unsubscribe(options Subscriber) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL