/** A class to allow signals to be emitted from non-UI threads and handled
* by a UI thread.
*/
-class UISignaller
+class UISignaller : public boost::noncopyable
{
public:
/** Create a UISignaller. Must be called from the UI thread */
}
/** Call this in the UI when it is idle */
- void ui_idle () {
- _service.poll ();
+ size_t ui_idle () {
+ return _service.poll ();
}
/** This should wake the UI and make it call ui_idle() */
- virtual void wake_ui () = 0;
+ virtual void wake_ui () {
+ /* This is only a sensible implementation when there is no GUI... */
+ ui_idle ();
+ }
private:
/** A io_service which is used as the conduit for messages */