Updated the standard port types to be c++ array and internalised the get driver so by name.