9 Split 'loopser' library into 2 header-only libraries
10 Simplify request/response public types
8 Only use forward declares when implementation hiding is a goal?
This PR does not use openpal anymore, but two separate libraries: ser4cpp for serialization and exe4cpp for the event loop. Note that ser4cpp is a completely private dependency, meaning that end-users don't need to include it when using modbus-cpp as a precompiled library.
It has breaking change from the API perspective, namely:
All the messages passed to and from the ISession are now simple structs. They keep the same names, but their construction and reading usages are slightly different. See the example for more details.
IChannel does not offer the possibility of sending custom messages anymore. This is due to the fact that ser4cpp is a completely private dependency.
Clients should no longer need to include tons of file, since no forward declarations are used in the public headers.
The CMake project and target is now named modbus-cpp to avoid name clashes with other Modbus libraries.
This PR fixes the following issues:
9 Split 'loopser' library into 2 header-only libraries
10 Simplify request/response public types
8 Only use forward declares when implementation hiding is a goal?
This PR does not use openpal anymore, but two separate libraries: ser4cpp for serialization and exe4cpp for the event loop. Note that
ser4cpp
is a completely private dependency, meaning that end-users don't need to include it when usingmodbus-cpp
as a precompiled library.It has breaking change from the API perspective, namely:
ISession
are now simple structs. They keep the same names, but their construction and reading usages are slightly different. See the example for more details.IChannel
does not offer the possibility of sending custom messages anymore. This is due to the fact thatser4cpp
is a completely private dependency.modbus-cpp
to avoid name clashes with other Modbus libraries.