21 #ifndef FIFE_PERCENT_DONE_LISTENER_H
22 #define FIFE_PERCENT_DONE_LISTENER_H
28 #include "util/base/fife_stdint.h"
36 class PercentDoneListener {
38 virtual ~PercentDoneListener();
39 virtual void OnEvent(
unsigned int percentDone) = 0;
42 class PercentDoneCallback {
44 PercentDoneCallback();
45 virtual ~PercentDoneCallback();
47 void setTotalNumberOfElements(
unsigned int totalElements);
48 void setPercentDoneInterval(
unsigned int percent);
49 void incrementCount();
51 void addListener(PercentDoneListener* listener);
52 void removeListener(PercentDoneListener* listener);
55 void fireEvent(
unsigned int percent);
58 uint32_t m_totalElements;
60 uint32_t m_numberOfEvents;
63 typedef std::vector<PercentDoneListener*> ListenerContainer;
64 ListenerContainer m_listeners;