For an application like gpa or screenlocker which uses Poldi, it is good to have a command (say, LIST_DEVICE), like:
$ gpg-connect-agent "SCD LIST_DEVICE [some-option] --watch" S <same status report from scdaemon> ... OK $
Here, I assume --watch option asks scdaemon to keep watching the status and reporting it.
With no --watch option, it simply returns list of devices (or... list of cards, list of apps, list of keygrips and device, list of card readers. I'm not yet sure what exactly is better).