SignalIO , prioritization, and correct use?



I'm trying to add two sockets to my gktmm glib main loop such that I can
receive signals when they are ready for writing. I am also using
dbus-cxx, which integrates nicely with glibmm. However, I would like to
be able to adjust the priorities of my signals, such that dbus traffic
can't overshadow my data socket traffic. I have been connecting my data
socket to my callback with something like :
  Glib::signal_io().connect(sigc::ptr_fun(DataRxCallback),
read_fd, Glib::IO_IN);

However, looking at the gtkmm docs for SignalIO Glib::signal_io () says
"A signal proxy; you want to use SignalIO::connect(). 

Unfortunately I can't quite figure out the right way of doing this. I
can get 

  Glib::RefPtr<Glib::MainContext> context =
Glib::MainContext::get_default(); 
  Glib::SignalIO::SignalIO sigio(context->gobj()); 
  
  sigio.connect(sigc::mem_fun(*this, &H5Experiment::dataRXCallback), 
		data_fd, Glib::IO_IN); 

but this won't link. 

What am I doing wrong? is there any easy way to connect sockets to
signals and have prioritized callback? 

Thanks,
		...Eric




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]