You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by sr...@apache.org on 2024/07/26 11:40:55 UTC

(plc4x) branch develop updated: feat(plc4go): make register driver return the registered driver

This is an automated email from the ASF dual-hosted git repository.

sruehl pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git


The following commit(s) were added to refs/heads/develop by this push:
     new 0f1b34feca feat(plc4go): make register driver return the registered driver
0f1b34feca is described below

commit 0f1b34fecae4c4fe9d05caa39f536852e7ced0b3
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Fri Jul 26 13:40:44 2024 +0200

    feat(plc4go): make register driver return the registered driver
---
 plc4go/pkg/api/drivers/drivers.go | 60 ++++++++++++++++++++++++++-------------
 1 file changed, 40 insertions(+), 20 deletions(-)

diff --git a/plc4go/pkg/api/drivers/drivers.go b/plc4go/pkg/api/drivers/drivers.go
index f0e72cc46b..db2aac45d8 100644
--- a/plc4go/pkg/api/drivers/drivers.go
+++ b/plc4go/pkg/api/drivers/drivers.go
@@ -34,54 +34,74 @@ import (
 	"github.com/apache/plc4x/plc4go/spi/options/converter"
 )
 
-func RegisterAdsDriver(driverManager plc4go.PlcDriverManager, _options ...config.WithOption) {
-	driverManager.RegisterDriver(ads.NewDriver(converter.WithOptionToInternal(_options...)...))
+func RegisterAdsDriver(driverManager plc4go.PlcDriverManager, _options ...config.WithOption) plc4go.PlcDriver {
+	driver := ads.NewDriver(converter.WithOptionToInternal(_options...)...)
+	driverManager.RegisterDriver(driver)
 	transports.RegisterTcpTransport(driverManager)
+	return driver
 }
 
-func RegisterBacnetDriver(driverManager plc4go.PlcDriverManager, _options ...config.WithOption) {
-	driverManager.RegisterDriver(bacnetip.NewDriver(converter.WithOptionToInternal(_options...)...))
+func RegisterBacnetDriver(driverManager plc4go.PlcDriverManager, _options ...config.WithOption) plc4go.PlcDriver {
+	driver := bacnetip.NewDriver(converter.WithOptionToInternal(_options...)...)
+	driverManager.RegisterDriver(driver)
 	transports.RegisterUdpTransport(driverManager)
+	return driver
 }
 
-func RegisterCBusDriver(driverManager plc4go.PlcDriverManager, _options ...config.WithOption) {
-	driverManager.RegisterDriver(cbus.NewDriver(converter.WithOptionToInternal(_options...)...))
+func RegisterCBusDriver(driverManager plc4go.PlcDriverManager, _options ...config.WithOption) plc4go.PlcDriver {
+	driver := cbus.NewDriver(converter.WithOptionToInternal(_options...)...)
+	driverManager.RegisterDriver(driver)
 	transports.RegisterTcpTransport(driverManager)
+	return driver
 }
 
-func RegisterEipDriver(driverManager plc4go.PlcDriverManager, _options ...config.WithOption) {
-	driverManager.RegisterDriver(eip.NewDriver(converter.WithOptionToInternal(_options...)...))
+func RegisterEipDriver(driverManager plc4go.PlcDriverManager, _options ...config.WithOption) plc4go.PlcDriver {
+	driver := eip.NewDriver(converter.WithOptionToInternal(_options...)...)
+	driverManager.RegisterDriver(driver)
 	transports.RegisterTcpTransport(driverManager)
+	return driver
 }
 
-func RegisterKnxDriver(driverManager plc4go.PlcDriverManager, _options ...config.WithOption) {
-	driverManager.RegisterDriver(knxnetip.NewDriver(converter.WithOptionToInternal(_options...)...))
+func RegisterKnxDriver(driverManager plc4go.PlcDriverManager, _options ...config.WithOption) plc4go.PlcDriver {
+	driver := knxnetip.NewDriver(converter.WithOptionToInternal(_options...)...)
+	driverManager.RegisterDriver(driver)
 	transports.RegisterUdpTransport(driverManager)
+	return driver
 }
 
-func RegisterModbusTcpDriver(driverManager plc4go.PlcDriverManager, _options ...config.WithOption) {
-	driverManager.RegisterDriver(modbus2.NewModbusTcpDriver(converter.WithOptionToInternal(_options...)...))
+func RegisterModbusTcpDriver(driverManager plc4go.PlcDriverManager, _options ...config.WithOption) plc4go.PlcDriver {
+	driver := modbus2.NewModbusTcpDriver(converter.WithOptionToInternal(_options...)...)
+	driverManager.RegisterDriver(driver)
 	transports.RegisterTcpTransport(driverManager)
+	return driver
 }
 
-func RegisterModbusRtuDriver(driverManager plc4go.PlcDriverManager, _options ...config.WithOption) {
-	driverManager.RegisterDriver(modbus2.NewModbusRtuDriver(converter.WithOptionToInternal(_options...)...))
+func RegisterModbusRtuDriver(driverManager plc4go.PlcDriverManager, _options ...config.WithOption) plc4go.PlcDriver {
+	driver := modbus2.NewModbusRtuDriver(converter.WithOptionToInternal(_options...)...)
+	driverManager.RegisterDriver(driver)
 	transports.RegisterSerialTransport(driverManager)
 	transports.RegisterTcpTransport(driverManager)
+	return driver
 }
 
-func RegisterModbusAsciiDriver(driverManager plc4go.PlcDriverManager, _options ...config.WithOption) {
-	driverManager.RegisterDriver(modbus2.NewModbusAsciiDriver(converter.WithOptionToInternal(_options...)...))
+func RegisterModbusAsciiDriver(driverManager plc4go.PlcDriverManager, _options ...config.WithOption) plc4go.PlcDriver {
+	driver := modbus2.NewModbusAsciiDriver(converter.WithOptionToInternal(_options...)...)
+	driverManager.RegisterDriver(driver)
 	transports.RegisterSerialTransport(driverManager)
 	transports.RegisterTcpTransport(driverManager)
+	return driver
 }
 
-func RegisterOpcuaDriver(driverManager plc4go.PlcDriverManager, _options ...config.WithOption) {
-	driverManager.RegisterDriver(opcua.NewDriver(converter.WithOptionToInternal(_options...)...))
+func RegisterOpcuaDriver(driverManager plc4go.PlcDriverManager, _options ...config.WithOption) plc4go.PlcDriver {
+	driver := opcua.NewDriver(converter.WithOptionToInternal(_options...)...)
+	driverManager.RegisterDriver(driver)
 	transports.RegisterTcpTransport(driverManager)
+	return driver
 }
 
-func RegisterS7Driver(driverManager plc4go.PlcDriverManager, _options ...config.WithOption) {
-	driverManager.RegisterDriver(s7.NewDriver(converter.WithOptionToInternal(_options...)...))
+func RegisterS7Driver(driverManager plc4go.PlcDriverManager, _options ...config.WithOption) plc4go.PlcDriver {
+	driver := s7.NewDriver(converter.WithOptionToInternal(_options...)...)
+	driverManager.RegisterDriver(driver)
 	transports.RegisterTcpTransport(driverManager)
+	return driver
 }