This repository has been archived by the owner on Jun 29, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
240 changed files
with
31,562 additions
and
7,342 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
run: | ||
# timeout for analysis, e.g. 30s, 5m, default is 1m | ||
timeout: 5m | ||
|
||
# include test files or not, default is true | ||
tests: true | ||
|
||
# by default isn't set. If set we pass it to "go list -mod={option}". From "go help modules": | ||
# If invoked with -mod=readonly, the go command is disallowed from the implicit | ||
# automatic updating of go.mod described above. Instead, it fails when any changes | ||
# to go.mod are needed. This setting is most useful to check that go.mod does | ||
# not need updates, such as in a continuous integration and testing system. | ||
# If invoked with -mod=vendor, the go command assumes that the vendor | ||
# directory holds the correct copies of dependencies and ignores | ||
# the dependency descriptions in go.mod. | ||
modules-download-mode: readonly | ||
|
||
# output configuration options | ||
output: | ||
# colored-line-number|line-number|json|tab|checkstyle|code-climate, default is "colored-line-number" | ||
formats: | ||
- format: colored-line-number | ||
|
||
linters: | ||
enable: | ||
- bodyclose | ||
- errcheck | ||
- errorlint | ||
- gocheckcompilerdirectives | ||
- gochecknoinits | ||
- gochecksumtype | ||
- goconst | ||
- gofmt | ||
- gosimple | ||
- gosec | ||
- govet | ||
- nilerr | ||
- nilnil | ||
- staticcheck | ||
- typecheck | ||
- unused | ||
- whitespace | ||
|
||
issues: | ||
# Excluding configuration per-path, per-linter, per-text and per-source | ||
exclude-rules: | ||
# Exclude some linters from running on tests files. | ||
- path: _test\.go | ||
linters: | ||
- errcheck | ||
- goconst | ||
- gosec | ||
|
||
# checking for errors in defers seldom makes sense... | ||
- source: "^\\s*defer\\s" | ||
linters: | ||
- errcheck | ||
- staticcheck |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
with-expecter: true | ||
inpackage: false | ||
dir: "{{ .InterfaceDir }}/../mocks" | ||
mockname: "{{.InterfaceName}}" | ||
outpkg: "mocks" | ||
filename: "{{.InterfaceName}}.go" | ||
all: true | ||
packages: | ||
github.com/enbility/cemd/api: | ||
github.com/enbility/cemd/cem: | ||
github.com/enbility/cemd/uccevc: | ||
github.com/enbility/cemd/ucevcc: | ||
github.com/enbility/cemd/ucevcem: | ||
github.com/enbility/cemd/ucevsecc: | ||
github.com/enbility/cemd/ucevsoc: | ||
github.com/enbility/cemd/uclpc: | ||
github.com/enbility/cemd/uclpcserver: | ||
github.com/enbility/cemd/uclpp: | ||
github.com/enbility/cemd/uclppserver: | ||
github.com/enbility/cemd/ucmgcp: | ||
github.com/enbility/cemd/ucmpc: | ||
github.com/enbility/cemd/ucopev: | ||
github.com/enbility/cemd/ucoscev: | ||
github.com/enbility/cemd/ucvabd: | ||
github.com/enbility/cemd/ucvapd: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
package api | ||
|
||
import ( | ||
spineapi "github.com/enbility/spine-go/api" | ||
"github.com/enbility/spine-go/model" | ||
) | ||
|
||
//go:generate mockery | ||
|
||
// Device event callback | ||
// | ||
// Used by CEM implementation | ||
type DeviceEventCallback func(ski string, device spineapi.DeviceRemoteInterface, event EventType) | ||
|
||
// Entity event callback | ||
// | ||
// Used by Use Case implementations | ||
type EntityEventCallback func(ski string, device spineapi.DeviceRemoteInterface, entity spineapi.EntityRemoteInterface, event EventType) | ||
|
||
// Implemented by CEM | ||
type CemInterface interface { | ||
// Setup the EEBUS service | ||
Setup() error | ||
|
||
// Start the EEBUS service | ||
Start() | ||
|
||
// Shutdown the EEBUS service | ||
Shutdown() | ||
|
||
// Add a use case implementation | ||
AddUseCase(usecase UseCaseInterface) | ||
} | ||
|
||
// Implemented by each Use Case | ||
type UseCaseInterface interface { | ||
// provide the usecase name | ||
UseCaseName() model.UseCaseNameType | ||
|
||
// add the features | ||
AddFeatures() | ||
|
||
// add the use case | ||
AddUseCase() | ||
|
||
// update availability of the use case | ||
UpdateUseCaseAvailability(available bool) | ||
|
||
// returns if the entity supports the usecase | ||
// | ||
// possible errors: | ||
// - ErrDataNotAvailable if that information is not (yet) available | ||
// - and others | ||
IsUseCaseSupported(remoteEntity spineapi.EntityRemoteInterface) (bool, error) | ||
} | ||
|
||
type ManufacturerData struct { | ||
DeviceName string `json:"deviceName,omitempty"` | ||
DeviceCode string `json:"deviceCode,omitempty"` | ||
SerialNumber string `json:"serialNumber,omitempty"` | ||
SoftwareRevision string `json:"softwareRevision,omitempty"` | ||
HardwareRevision string `json:"hardwareRevision,omitempty"` | ||
VendorName string `json:"vendorName,omitempty"` | ||
VendorCode string `json:"vendorCode,omitempty"` | ||
BrandName string `json:"brandName,omitempty"` | ||
PowerSource string `json:"powerSource,omitempty"` | ||
ManufacturerNodeIdentification string `json:"manufacturerNodeIdentification,omitempty"` | ||
ManufacturerLabel string `json:"manufacturerLabel,omitempty"` | ||
ManufacturerDescription string `json:"manufacturerDescription,omitempty"` | ||
} |
Oops, something went wrong.