Documentation
¶
Overview ¶
This package provides a basic EdgeX Foundry device service implementation meant to be embedded in an application, similar in approach to the builtin net/http package.
Index ¶
- Variables
- func DriverConfigs() map[string]string
- type Service
- func (s *Service) AddDevice(device contract.Device) (id string, err error)
- func (s *Service) AddDeviceProfile(profile contract.DeviceProfile) (id string, err error)
- func (s *Service) AsyncReadings() bool
- func (s *Service) DeviceProfiles() []contract.DeviceProfile
- func (*Service) DeviceResource(deviceName string, object string, method string) (contract.DeviceResource, bool)
- func (s *Service) Devices() []contract.Device
- func (s *Service) Discovery() dsModels.ProtocolDiscovery
- func (s *Service) GetDeviceByName(name string) (contract.Device, error)
- func (s *Service) Name() string
- func (s *Service) RemoveDevice(id string) error
- func (s *Service) RemoveDeviceByName(name string) error
- func (s *Service) RemoveDeviceProfile(id string) error
- func (*Service) RemoveDeviceProfileByName(name string) error
- func (*Service) ResourceOperation(deviceName string, object string, method string) (contract.ResourceOperation, bool)
- func (s *Service) Start(errChan chan error) (err error)
- func (s *Service) StartWithAppendRouter(errChan chan error, appendRouter func(r *mux.Router)) (err error)
- func (s *Service) Stop(force bool) error
- func (s *Service) UpdateDevice(device contract.Device) error
- func (*Service) UpdateDeviceProfile(profile contract.DeviceProfile) error
- func (s *Service) Version() string
- type Watchers
Constants ¶
This section is empty.
Variables ¶
var Version string = "to be replaced by makefile"
Global version for device-sdk-go
Functions ¶
func DriverConfigs ¶
DriverConfigs retrieves the driver specific configuration
Types ¶
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
A Service listens for requests and routes them to the right command
func NewService ¶
func NewService(serviceName string, serviceVersion string, confProfile string, confDir string, useRegistry string, proto dsModels.ProtocolDriver) (*Service, error)
NewService creates a new Device Service instance with the given version number, config profile, config directory, whether to use registry, and Driver, which cannot be nil. Note - this function is a singleton, if called more than once, it will always return an error.
func RunningService ¶
func RunningService() *Service
RunningService returns the Service instance which is running
func (*Service) AddDevice ¶
AddDevice adds a new Device to the Device Service and Core Metadata Returns new Device id or non-nil error.
func (*Service) AddDeviceProfile ¶
func (s *Service) AddDeviceProfile(profile contract.DeviceProfile) (id string, err error)
AddDeviceProfile adds a new DeviceProfile to the Device Service and Core Metadata Returns new DeviceProfile id or non-nil error.
func (*Service) AsyncReadings ¶
AsyncReadings returns a bool value to indicate whether the asynchronous reading is enabled.
func (*Service) DeviceProfiles ¶
func (s *Service) DeviceProfiles() []contract.DeviceProfile
DeviceProfiles return all managed DeviceProfiles from cache
func (*Service) DeviceResource ¶
func (*Service) DeviceResource(deviceName string, object string, method string) (contract.DeviceResource, bool)
DeviceResource retrieves the specific DeviceResource instance from cache according to the Device name and Device Resource (object) name
func (*Service) Discovery ¶
func (s *Service) Discovery() dsModels.ProtocolDiscovery
func (*Service) GetDeviceByName ¶
GetDeviceByName returns the Device by its name if it exists in the cache, or returns an error.
func (*Service) RemoveDevice ¶
RemoveDevice removes the specified Device by id from the cache and ensures that the instance in Core Metadata is also removed.
func (*Service) RemoveDeviceByName ¶
RemoveDevice removes the specified Device by name from the cache and ensures that the instance in Core Metadata is also removed.
func (*Service) RemoveDeviceProfile ¶
RemoveDeviceProfile removes the specified DeviceProfile by id from the cache and ensures that the instance in Core Metadata is also removed.
func (*Service) RemoveDeviceProfileByName ¶
RemoveDeviceProfileByName removes the specified DeviceProfile by name from the cache and ensures that the instance in Core Metadata is also removed.
func (*Service) ResourceOperation ¶
func (*Service) ResourceOperation(deviceName string, object string, method string) (contract.ResourceOperation, bool)
ResourceOperation retrieves the first matched ResourceOpereation instance from cache according to the Device name, Device Resource (object) name, and the method (get or set).
func (*Service) StartWithAppendRouter ¶
func (s *Service) StartWithAppendRouter(errChan chan error, appendRouter func(r *mux.Router)) (err error)
Start the Device Service.
func (*Service) UpdateDevice ¶
UpdateDevice updates the Device in the cache and ensures that the copy in Core Metadata is also updated.
func (*Service) UpdateDeviceProfile ¶
func (*Service) UpdateDeviceProfile(profile contract.DeviceProfile) error
UpdateDeviceProfile updates the DeviceProfile in the cache and ensures that the copy in Core Metadata is also updated.
Source Files
¶
Directories
¶
Path | Synopsis |
---|---|
example
|
|
cmd/device-simple
This package provides a simple example of a device service.
|
This package provides a simple example of a device service. |
driver
This package provides a simple example implementation of ProtocolDriver interface.
|
This package provides a simple example implementation of ProtocolDriver interface. |
internal
|
|
pkg
|
|
models
This package defines interfaces and structs used to build an EdgeX Foundry Device Service.
|
This package defines interfaces and structs used to build an EdgeX Foundry Device Service. |