Как определить съемный носитель с помощью giomm - PullRequest
0 голосов
/ 29 мая 2020

Я пытаюсь использовать Gio :: VolumeMonitor для обнаружения прихода съемного носителя, чтобы я мог автоматически направлять выходные данные журнала в файл на съемном носителе. К сожалению, VolumeMonitor не поддается так легко. Я написал следующий тестовый код в своем основном конструкторе windows.

    Glib::RefPtr <Gio::VolumeMonitor> refMonitor = Gio::VolumeMonitor::get();
    Glib::ListHandle <Glib::RefPtr <Gio::Volume>> listVolumes = refMonitor
      ->get_volumes();

    refMonitor->signal_volume_added().connect(sigc::mem_fun(*this,
                                                            &CMainWindow::VolumeAdded));

    for (Glib::RefPtr <Gio::Volume> refVolume : listVolumes)
    {
      std::cout << "Volume: " << refVolume->get_name() << std::endl;
    }

Если я запускаю этот код с подключенным USB-накопителем, он появляется в списке, однако сигнал signal_volume_added никогда не появляется запускается, даже если я вставляю, размонтирую или удаляю его. В чем может быть проблема? Я использую giomm-2.4 версии 2.56.0.

...