Skip to content

Commit

Permalink
Ocpp: deduplicate event handlers (#16278)
Browse files Browse the repository at this point in the history
  • Loading branch information
andig authored Sep 23, 2024
1 parent d02c191 commit 2d9a85b
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 66 deletions.
35 changes: 0 additions & 35 deletions charger/ocpp/cp_core.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import (
"errors"

"github.com/lorenzodonini/ocpp-go/ocpp1.6/core"
"github.com/lorenzodonini/ocpp-go/ocpp1.6/firmware"
"github.com/lorenzodonini/ocpp-go/ocpp1.6/types"
)

Expand All @@ -14,16 +13,6 @@ var (
ErrInvalidTransaction = errors.New("invalid transaction")
)

func (cp *CP) OnAuthorize(request *core.AuthorizeRequest) (*core.AuthorizeConfirmation, error) {
res := &core.AuthorizeConfirmation{
IdTagInfo: &types.IdTagInfo{
Status: types.AuthorizationStatusAccepted,
},
}

return res, nil
}

func (cp *CP) OnBootNotification(request *core.BootNotificationRequest) (*core.BootNotificationConfirmation, error) {
res := &core.BootNotificationConfirmation{
CurrentTime: types.Now(),
Expand All @@ -38,14 +27,6 @@ func (cp *CP) OnBootNotification(request *core.BootNotificationRequest) (*core.B
return res, nil
}

func (cp *CP) OnDiagnosticStatusNotification(request *firmware.DiagnosticsStatusNotificationRequest) (*firmware.DiagnosticsStatusNotificationConfirmation, error) {
return new(firmware.DiagnosticsStatusNotificationConfirmation), nil
}

func (cp *CP) OnFirmwareStatusNotification(request *firmware.FirmwareStatusNotificationRequest) (*firmware.FirmwareStatusNotificationConfirmation, error) {
return new(firmware.FirmwareStatusNotificationConfirmation), nil
}

func (cp *CP) OnStatusNotification(request *core.StatusNotificationRequest) (*core.StatusNotificationConfirmation, error) {
if request == nil {
return nil, ErrInvalidRequest
Expand All @@ -58,22 +39,6 @@ func (cp *CP) OnStatusNotification(request *core.StatusNotificationRequest) (*co
return new(core.StatusNotificationConfirmation), nil
}

func (cp *CP) OnDataTransfer(request *core.DataTransferRequest) (*core.DataTransferConfirmation, error) {
res := &core.DataTransferConfirmation{
Status: core.DataTransferStatusAccepted,
}

return res, nil
}

func (cp *CP) OnHeartbeat(request *core.HeartbeatRequest) (*core.HeartbeatConfirmation, error) {
res := &core.HeartbeatConfirmation{
CurrentTime: types.Now(),
}

return res, nil
}

func (cp *CP) OnMeterValues(request *core.MeterValuesRequest) (*core.MeterValuesConfirmation, error) {
if request == nil {
return nil, ErrInvalidRequest
Expand Down
48 changes: 17 additions & 31 deletions charger/ocpp/cs_core.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,21 @@ package ocpp

import (
"github.com/lorenzodonini/ocpp-go/ocpp1.6/core"
"github.com/lorenzodonini/ocpp-go/ocpp1.6/firmware"
"github.com/lorenzodonini/ocpp-go/ocpp1.6/types"
)

// cp actions

func (cs *CS) OnAuthorize(id string, request *core.AuthorizeRequest) (*core.AuthorizeConfirmation, error) {
cp, err := cs.ChargepointByID(id)
if err != nil {
return nil, err
// no cp handler

res := &core.AuthorizeConfirmation{
IdTagInfo: &types.IdTagInfo{
Status: types.AuthorizationStatusAccepted,
},
}

return cp.OnAuthorize(request)
return res, nil
}

func (cs *CS) OnBootNotification(id string, request *core.BootNotificationRequest) (*core.BootNotificationConfirmation, error) {
Expand All @@ -32,21 +34,23 @@ func (cs *CS) OnBootNotification(id string, request *core.BootNotificationReques
}

func (cs *CS) OnDataTransfer(id string, request *core.DataTransferRequest) (*core.DataTransferConfirmation, error) {
cp, err := cs.ChargepointByID(id)
if err != nil {
return nil, err
// no cp handler

res := &core.DataTransferConfirmation{
Status: core.DataTransferStatusAccepted,
}

return cp.OnDataTransfer(request)
return res, nil
}

func (cs *CS) OnHeartbeat(id string, request *core.HeartbeatRequest) (*core.HeartbeatConfirmation, error) {
cp, err := cs.ChargepointByID(id)
if err != nil {
return nil, err
// no cp handler

res := &core.HeartbeatConfirmation{
CurrentTime: types.Now(),
}

return cp.OnHeartbeat(request)
return res, nil
}

func (cs *CS) OnMeterValues(id string, request *core.MeterValuesRequest) (*core.MeterValuesConfirmation, error) {
Expand Down Expand Up @@ -92,21 +96,3 @@ func (cs *CS) OnStopTransaction(id string, request *core.StopTransactionRequest)

return res, nil
}

func (cs *CS) OnDiagnosticsStatusNotification(id string, request *firmware.DiagnosticsStatusNotificationRequest) (confirmation *firmware.DiagnosticsStatusNotificationConfirmation, err error) {
cp, err := cs.ChargepointByID(id)
if err != nil {
return nil, err
}

return cp.OnDiagnosticStatusNotification(request)
}

func (cs *CS) OnFirmwareStatusNotification(id string, request *firmware.FirmwareStatusNotificationRequest) (confirmation *firmware.FirmwareStatusNotificationConfirmation, err error) {
cp, err := cs.ChargepointByID(id)
if err != nil {
return nil, err
}

return cp.OnFirmwareStatusNotification(request)
}

0 comments on commit 2d9a85b

Please sign in to comment.