diff --git a/.gitignore b/.gitignore index 968d485..b800d9a 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,5 @@ go.work # VS Code .vscode + +cert.* diff --git a/cmd/democem/democem.go b/cmd/democem/democem.go index d4e2306..1206a91 100644 --- a/cmd/democem/democem.go +++ b/cmd/democem/democem.go @@ -15,20 +15,20 @@ import ( type DemoCem struct { cem *cem.Cem - - remoteSki string } -func NewDemoCem(configuration *eebusapi.Configuration, remoteSki string) *DemoCem { - demo := &DemoCem{ - remoteSki: remoteSki, - } +func NewDemoCem(configuration *eebusapi.Configuration) *DemoCem { + demo := &DemoCem{} demo.cem = cem.NewCEM(configuration, demo, demo.deviceEventCB, demo) return demo } +func (d *DemoCem) RegisterRemoteSKI(remoteSki string) { + d.cem.Service.RegisterRemoteSKI(remoteSki, true) +} + func (d *DemoCem) Setup() error { if err := d.cem.Setup(); err != nil { return err @@ -77,8 +77,6 @@ func (d *DemoCem) Setup() error { evsecc := ucevsecc.NewUCEVSECC(d.cem.Service, d.entityEventCB) d.cem.AddUseCase(evsecc) - d.cem.Service.RegisterRemoteSKI(d.remoteSki, true) - d.cem.Start() return nil diff --git a/cmd/democem/eventcb.go b/cmd/democem/eventcb.go index 5430272..9e8335d 100644 --- a/cmd/democem/eventcb.go +++ b/cmd/democem/eventcb.go @@ -6,8 +6,8 @@ import ( ) // Handle incoming usecase specific events -func (h *DemoCem) deviceEventCB(ski string, device spineapi.DeviceRemoteInterface, event api.EventType) { +func (d *DemoCem) deviceEventCB(ski string, device spineapi.DeviceRemoteInterface, event api.EventType) { } -func (h *DemoCem) entityEventCB(ski string, device spineapi.DeviceRemoteInterface, entity spineapi.EntityRemoteInterface, event api.EventType) { +func (d *DemoCem) entityEventCB(ski string, device spineapi.DeviceRemoteInterface, entity spineapi.EntityRemoteInterface, event api.EventType) { } diff --git a/cmd/democem/service.go b/cmd/democem/service.go index 2a0f7b7..fc7517e 100644 --- a/cmd/democem/service.go +++ b/cmd/democem/service.go @@ -13,6 +13,6 @@ func (d *DemoCem) RemoteSKIDisconnected(service eebusapi.ServiceInterface, ski s func (d *DemoCem) VisibleRemoteServicesUpdated(service eebusapi.ServiceInterface, entries []shipapi.RemoteService) { } -func (h *DemoCem) ServiceShipIDUpdate(ski string, shipdID string) {} +func (d *DemoCem) ServiceShipIDUpdate(ski string, shipdID string) {} -func (h *DemoCem) ServicePairingDetailUpdate(ski string, detail *shipapi.ConnectionStateDetail) {} +func (d *DemoCem) ServicePairingDetailUpdate(ski string, detail *shipapi.ConnectionStateDetail) {} diff --git a/cmd/main.go b/cmd/main.go index c6d6550..1361421 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -30,11 +30,6 @@ func main() { flag.Parse() - if len(os.Args) == 1 || remoteSki == nil || *remoteSki == "" { - flag.Usage() - return - } - certificate, err := tls.LoadX509KeyPair(*crt, *key) if err != nil { certificate, err = cert.CreateCertificate("Demo", "Demo", "DE", "Demo-Unit-10") @@ -89,7 +84,11 @@ func main() { configuration.SetInterfaces(ifaces) } - demo := democem.NewDemoCem(configuration, *remoteSki) + demo := democem.NewDemoCem(configuration) + + if len(os.Args) > 1 && *remoteSki != "" { + demo.RegisterRemoteSKI(*remoteSki) + } if err := demo.Setup(); err != nil { fmt.Println("Error setting up cem: ", err)