-
Notifications
You must be signed in to change notification settings - Fork 18
Description
As was discussed on the 15th, I'd like to migrate some classes/interfaces from the pvData* modules into pvAccess*. For the C++ code this is specifically the following types currently defined in requester.h and monitor.h.
epics::pvData::Requester
epics::pvData::RequesterPtr
epics::pvData::MessageType
epics::pvData::getMessageTypeName
epics::pvData::MonitorElement
epics::pvData::MonitorElementPtr
epics::pvData::MonitorElementPtrArray
epics::pvData::Monitor
epics::pvData::MonitorRequester
The migration plan for C++ would be to first introduce aliases into the epics::pvAccess namespace. Which allow either name to be used by dependent modules. This does not require any changes to pvDataCPP.
namespace epics { namespace pvAccess {
using epics::pvData::Requester;
}}
The next step would move the headers, and swap the namespaces and aliases. This also maintains API compatibility, but introduces potentially complex module version dependencies.
The final step is to remove the aliases from the epics::pvData namespace.
This should be split over at least 2 "major" releases. The second step could go on either side of this "split".
I'm still investigating possible ways to do a phased migration. If I (or others) can't find anything, then it would be necessary to have an API break.