Adapting port_manager::get_port_info() to use C++ snapshots instead of exposing C structs