I think your query is on the Host Application implementation (which is using cyapi library).
Please know that there are no such callbacks possible.
One option is that you can wait indefinitely for the device to send data after you call transfer function for the data.
The other is: You would have to set a timeout for your transfer function. If timeout occurred without any data, then you need to call the transfer function again. This is the polling method but the timeout value you set can be based on how frequently your data transfers the data.