How to use MAVSDK to subscribe/publish to custom uORB topic from a module running on companion computer

void mavsdk::Telemetry::subscribe_gps_info(GpsInfoCallback callback)

I assume registering a callback function like this will process GPS data whenever it is published to the relevant uORB topic
how to register a callback function for a custom user created uORB topic? and additionally how to publish to a user created uORB topic using MAVSDK from a module running on companion computer.