42 : name_(name), count_(0)
53 size_t count()
const {
return count_;}
66 : cancelIndex_(cancelIndex)
90 if (
os_) *
os_ <<
"test()\n";
104 size_t iterationCount = 24;
105 for (
size_t i=0; i<iterationCount; i++)
121 if (
os_) *
os_ <<
"testCancel()\n";
137 bool canceled =
false;
139 size_t iterationCount = 24;
140 for (
size_t i=0; i<iterationCount; i++)
174 throw runtime_error(
"bad");
181 if (
os_) *
os_ <<
"testRemove()\n";
205 if (e.what() == string(
"bad")) caught =
true;
221 if (
os_) *
os_ <<
"testTime()\n";
234 const double iterationDuration = 5.0;
239 if (difftime(now, start) > iterationDuration)
break;
248 int main(
int argc,
char* argv[])
254 if (argc>1 && !strcmp(argv[1],
"-v"))
os_ = &cout;
void addListenerWithTimer(const IterationListenerPtr &listener, double timePeriod)
TestListener(const string &name)
void addListener(const IterationListenerPtr &listener, size_t iterationPeriod)
virtual Status update(const UpdateMessage &updateMessage)
virtual Status update(const UpdateMessage &updateMessage)
IterationListener::Status broadcastUpdateMessage(const IterationListener::UpdateMessage &updateMessage) const
boost::shared_ptr< IterationListener > IterationListenerPtr
void removeListener(const IterationListenerPtr &listener)
interface to be implemented by clients who want progress callbacks
virtual Status update(const UpdateMessage &updateMessage)
handles registration of IterationListeners and broadcast of update messages
int main(int argc, char *argv[])
#define TEST_PROLOG(argc, argv)
void nullDeallocate(IterationListener *s)
CancelListener(size_t cancelIndex)