You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
640 B
22 lines
640 B
package models
|
|
|
|
import (
|
|
"context"
|
|
"time"
|
|
)
|
|
|
|
type DriverProvider interface {
|
|
Provide(kind DriverKind) (Driver, error)
|
|
}
|
|
|
|
type Driver interface {
|
|
SearchBridge(ctx context.Context, address, token string, dryRun bool) ([]Bridge, error)
|
|
SearchDevices(ctx context.Context, bridge Bridge, timeout time.Duration) ([]Device, error)
|
|
ListDevices(ctx context.Context, bridge Bridge) ([]Device, error)
|
|
Publish(ctx context.Context, bridge Bridge, devices []Device) error
|
|
Run(ctx context.Context, bridge Bridge, ch chan<- Event) error
|
|
}
|
|
|
|
type ForgettableDriver interface {
|
|
ForgetDevice(ctx context.Context, bridge Bridge, device Device) error
|
|
}
|