Я пытаюсь получить информацию о подключенной точке доступа Wi-Fi (например, SSID, BSSID и т. Д.) В centos, и для этого использовал API-интерфейс NetworkManager (libnm.so).
Вместо использования nm api я хотел динамически загрузить libnm.so и использовать указатели функций для вызова нужных API.
До даты я мог разрешить функциональные указатели следующих API-интерфейсов nm ..
nm_client_new, nm_client_get_devices и nm_device_get_device_type.
Но я не нашел функции, которая конвертирует NMDevice * в NMDeviceWifi *.
нм API имеет функцию с именем NMDeviceWifi * NM_DEVICE_WIFI (NMDevice *), но я не видел никаких символов для функции NM_DEVICE_WIFI в libnm.so, поэтому не смог разрешить указатель функции.
Я пробовал dynamic_cast с NMDevice * на NMDeviceWifi *, но он не работал.
ошибка: невозможно динамическое_кастовое 'устройство' (типа 'NMDevice * {aka struct _NMDevice *}') набрать 'NMDeviceWifi * {aka struct _NMDeviceWifi *}' (тип источника не является полиморфным)
NMDeviceWifi * pWifi = dynamic_cast<NMDeviceWifi *>(device);