+ //! \param theActivate a state about flushe is active. If false, the flush is disabled
+ //! \return the previous active flush state
+ EVENTS_EXPORT bool activateFlushes(const bool theActivate);
+
+ //! Clears all collected messages
+ EVENTS_EXPORT void clear(const Events_ID& theID);
+
+ //! Returns true if the evement is flushed right now
+ EVENTS_EXPORT bool isFlushed(const Events_ID& theID);
+ //! Sets the flag that the event is flished right now
+ EVENTS_EXPORT void setFlushed(const Events_ID& theID, const bool theValue);
+
+ //! Returns true if a loop accumulated events to be flashed
+ EVENTS_EXPORT bool hasGrouppedEvent(const Events_ID& theID);
+
+private:
+ //! Calls "processEvent" for the given listeners.
+ //! If theFlushedNow for grouped listeners is stores message in listeners.
+ void sendProcessEvent(const std::shared_ptr<Events_Message>& theMessage,
+ std::list<Events_Listener*>& theListeners, const bool theFlushedNow);
+