occupancysensor

package
v0.0.0-...-3a0ac50 Latest Latest
Warning

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

Go to latest
Published: Mar 25, 2022 License: AGPL-3.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func WithOccupancySensorApiClientFactory

func WithOccupancySensorApiClientFactory(f func(name string) (traits.OccupancySensorApiClient, error)) router.Option

WithOccupancySensorApiClientFactory instructs the router to create a new client the first time Get is called for that name.

func WithOccupancySensorInfoClientFactory

func WithOccupancySensorInfoClientFactory(f func(name string) (traits.OccupancySensorInfoClient, error)) router.Option

WithOccupancySensorInfoClientFactory instructs the router to create a new client the first time Get is called for that name.

func WrapApi

WrapApi adapts a traits.OccupancySensorApiServer and presents it as a traits.OccupancySensorApiClient

func WrapInfo

WrapInfo adapts a traits.OccupancySensorInfoServer and presents it as a traits.OccupancySensorInfoClient

Types

type ApiRouter

ApiRouter is a traits.OccupancySensorApiServer that allows routing named requests to specific traits.OccupancySensorApiClient

func NewApiRouter

func NewApiRouter(opts ...router.Option) *ApiRouter

func (*ApiRouter) Add

func (r *ApiRouter) Add(name string, client interface{}) interface{}

Add extends Router.Add to panic if client is not of type traits.OccupancySensorApiClient.

func (*ApiRouter) AddOccupancySensorApiClient

func (r *ApiRouter) AddOccupancySensorApiClient(name string, client traits.OccupancySensorApiClient) traits.OccupancySensorApiClient

func (*ApiRouter) GetOccupancy

func (r *ApiRouter) GetOccupancy(ctx context.Context, request *traits.GetOccupancyRequest) (*traits.Occupancy, error)

func (*ApiRouter) GetOccupancySensorApiClient

func (r *ApiRouter) GetOccupancySensorApiClient(name string) (traits.OccupancySensorApiClient, error)

func (*ApiRouter) HoldsType

func (r *ApiRouter) HoldsType(client interface{}) bool

func (*ApiRouter) PullOccupancy

func (*ApiRouter) Register

func (r *ApiRouter) Register(server *grpc.Server)

func (*ApiRouter) RemoveOccupancySensorApiClient

func (r *ApiRouter) RemoveOccupancySensorApiClient(name string) traits.OccupancySensorApiClient

type InfoRouter

InfoRouter is a traits.OccupancySensorInfoServer that allows routing named requests to specific traits.OccupancySensorInfoClient

func NewInfoRouter

func NewInfoRouter(opts ...router.Option) *InfoRouter

func (*InfoRouter) Add

func (r *InfoRouter) Add(name string, client interface{}) interface{}

Add extends Router.Add to panic if client is not of type traits.OccupancySensorInfoClient.

func (*InfoRouter) AddOccupancySensorInfoClient

func (r *InfoRouter) AddOccupancySensorInfoClient(name string, client traits.OccupancySensorInfoClient) traits.OccupancySensorInfoClient

func (*InfoRouter) DescribeOccupancy

func (r *InfoRouter) DescribeOccupancy(ctx context.Context, request *traits.DescribeOccupancyRequest) (*traits.OccupancySupport, error)

func (*InfoRouter) GetOccupancySensorInfoClient

func (r *InfoRouter) GetOccupancySensorInfoClient(name string) (traits.OccupancySensorInfoClient, error)

func (*InfoRouter) HoldsType

func (r *InfoRouter) HoldsType(client interface{}) bool

func (*InfoRouter) Register

func (r *InfoRouter) Register(server *grpc.Server)

func (*InfoRouter) RemoveOccupancySensorInfoClient

func (r *InfoRouter) RemoveOccupancySensorInfoClient(name string) traits.OccupancySensorInfoClient

type Model

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

func NewModel

func NewModel(initialState *traits.Occupancy) *Model

func (*Model) GetOccupancy

func (m *Model) GetOccupancy(opts ...resource.ReadOption) (*traits.Occupancy, error)

func (*Model) PullOccupancy

func (m *Model) PullOccupancy(ctx context.Context, opts ...resource.ReadOption) <-chan PullOccupancyChange

func (*Model) SetOccupancy

func (m *Model) SetOccupancy(occupancy *traits.Occupancy, opts ...resource.WriteOption) (*traits.Occupancy, error)

SetOccupancy updates the known occupancy state for this device

type ModelServer

type ModelServer struct {
	traits.UnimplementedOccupancySensorApiServer
	// contains filtered or unexported fields
}

func NewModelServer

func NewModelServer(model *Model) *ModelServer

func (*ModelServer) GetOccupancy

func (*ModelServer) PullOccupancy

func (*ModelServer) Register

func (s *ModelServer) Register(server *grpc.Server)

func (*ModelServer) Unwrap

func (s *ModelServer) Unwrap() interface{}

type PullOccupancyChange

type PullOccupancyChange struct {
	Value      *traits.Occupancy
	ChangeTime time.Time
}

Jump to

Keyboard shortcuts

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