fix(io): io::igtl::detail::RawMessage does not override GetBodyPackSize, PackBody and UnpackBody on Windows
Description
On Linux, we use the version 1.1 of IGTL, and on Windows, the version 3.0. Our class io::igtl::detail::RawMessage inherits from igtl::MessageBase. Between the two versions, the methods MessageBase::GetBodyPackSize, MessageBase::PackBody and MessageBase::UnpackBody were renamed respectively MessageBase::CalculateContentBufferSize, MessageBase::PackContent and MessageBase::UnpackContent. As such, the methods aren't overrided on Windows, and the default implementations (which do nothing) of these methods are used instead.
Steps to reproduce
Add the override keyword on these methods, it will compile on Linux but but not on Windows.
Proposal
We either must either use the same version on both Linux and Windows (which means we must compile IGTL ourself on Linux), or use ifdef
s to change the method names according to the platform we build on.
Functional specifications
If there is any change to the workflow, UX/UI design, screenshots, etc..., please describe it here
Technical specifications
Details of the implementation of the fix
Test plan
Describe how you will verify that the implementation fulfils the specifications