--- a/libupnpp/device.hxx
+++ b/libupnpp/device.hxx
@@ -48,12 +48,24 @@
std::vector<std::string>& values) = 0;
/** To be called by the device layer when data changes and an
- event should happen. */
+ * event should happen. */
void notifyEvent(const std::string& serviceId,
const std::vector<std::string>& names,
const std::vector<std::string>& values);
+
+ /** This loop polls getEventData and generates an UPnP event if
+ * there is anything to broadcast. To be called by main() when
+ * done with initialization. */
void eventloop();
+
+ /** Called from a callback to Wakeup the event loop early if we
+ * need to broadcast something quickly. Will only do something if
+ * the previous event is not too recent.
+ */
+ void loopWakeup(); // To trigger an early event
+
bool ok() {return m_lib != 0;}
+
private:
const std::string& serviceType(const std::string& serviceId);