Как установить часы и время ожидания для giomm::dbus?

Я работаю над реализацией плагина, который использует giomm::dbus для IPC. Но в приложении уже есть пользовательский mainloop, в котором есть механизм опроса. Пользовательский mainloop ожидает файловый дескриптор и события от плагина

Пример:

класс DbusHandler;

class MainHandler {

  public:
  void fun(){
             mDBusHandler = new DbusHandler;
             mDbusHandler->start();              
  }
  void startListening(....){
         ...
         do poll
  }

  private:
   DbusHandler *mDbusHandler;};

void on_bus_acquired_test () {};

void on_name_acquired_test () {};

void on_name_lost_test () {};

класс DbusHandler {

  public:
  DbusHandler(): bus_acquired_slot(sigc::ptr_fun(&on_bus_acquired_test)),    //
                                                    name_acquired_slot(sigc::ptr_fun(&on_name_acquired_test)),  //
                                                    name_lost_slot(sigc::ptr_fun(&on_name_lost_test)),  //  {};
  void start() {
           Glib::init();
           Gio::init();

  const auto ownedNameID = Gio::DBus::own_name(  Gio::DBus::BUS_TYPE_SESSION, 
                                    "org.abc.xyz", //
                                    bus_acquired_slot,   //
                                    name_acquired_slot,  //
                                    name_lost_slot);}
private:
Gio::DBus::SlotBusAcquired  bus_acquired_slot;
Gio::DBus::SlotNameAcquired name_acquired_slot;
Gio::DBus::SlotNameLost     name_lost_slot; };   

0 ответов

Другие вопросы по тегам