This seems like a really basic question, but it has me stumped. In my BaseClient subclass, I'm trying to get a list of all the Telescope and Cameras registered with the server. If I have this code:
void IndiClient::newDevice(INDI::BaseDevice baseDevice) { auto interface = baseDevice->getDriverInterface(); if (interface == INDI::BaseDevice::TELESCOPE_INTERFACE) { IDLog("New Device: %s\n", baseDevice->getDeviceName()); } }
void IndiClient::serverConnected() { IDLog("Server Connected\n\n"); IDLog("Listing mounts:\n"); std::vector<INDI::BaseDevice> mounts; getDevices(mounts, INDI::BaseDevice::TELESCOPE_INTERFACE); for (INDI::BaseDevice *device : mounts) printf("Mount Name: %s\n", device->getDeviceName()); IDLog("Listing cameras:\n"); std::vector<INDI::BaseDevice> cameras; getDevices(cameras, INDI::BaseDevice::CCD_INTERFACE); for (INDI::BaseDevice *device : cameras) printf("Camera Name: %s\n", device->getDeviceName()); }