static void ProgressCallback(Object *object, const EventObject &event, void *clientdata)
{
    ProcessObject *process = dynamic_cast<ProcessObject *>(object);
    Reporter *reporter = reinterpret_cast<Reporter *>(clientdata);
    if (process && reporter) {
        float progress = process->GetProgress();
        reporter->report(int(progress * 100.f));
    }
}
Esempio n. 2
0
      void report(Diagnostic* diagnostic) {
        std::lock_guard<std::mutex> guard(lock_);

        intermittent_reports_.push_back(diagnostic);

        if(reporter_) {
          reporter_->report();
        }
      }
void check_report()
{
  Reporter sw;
  ex::sleep_for<typename Reporter::clock>(milliseconds(100));
  sw.report();
}