rtu: add serial port interface
Add the interface classes for serial port with Port Factory classes to
make the code extensible for future in case a new hardware port type is
introduced. This also makes the unit testing easy by creating a Mock
Port using socat.
Tested:
```
meson test -C builddir test_port
ninja: Entering directory `/host/repos/Modbus/phosphor-modbus/builddir'
ninja: no work to do.
1/1 test_port OK 5.02s
Ok: 1
Fail: 0
```
Change-Id: Ic6bd982abf1ae993f76c39e3503d3a0402a692fe
Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>
diff --git a/rtu/meson.build b/rtu/meson.build
index e088f17..2c385b2 100644
--- a/rtu/meson.build
+++ b/rtu/meson.build
@@ -9,8 +9,16 @@
dependencies: [default_deps],
)
+modbus_rtu_port_lib = static_library(
+ 'modbus_rtu_port_lib',
+ ['port/base_port.cpp', 'port/port_factory.cpp', 'port/usb_port.cpp'],
+ include_directories: ['.', common_include],
+ link_with: [modbus_rtu_lib, modbus_common_lib],
+ dependencies: [default_deps],
+)
+
modbus_rtu_dep = declare_dependency(
include_directories: ['.'],
- link_with: [modbus_rtu_lib],
+ link_with: [modbus_rtu_lib, modbus_rtu_port_lib],
dependencies: [default_deps],
)