ReCodEx - Task Broker
ReCodEx is complex programmer testing solution, primary targeted to technical universities. It's highly customizable and based on modern technologies.
reactor_status_notifier.cpp
1 #include "reactor_status_notifier.h"
2 #include "../handlers/status_notifier_handler.h"
3 
5  : callback_(callback), key_(key)
6 {
7 }
8 
9 void reactor_status_notifier::error(const std::string &desc)
10 {
11  callback_(message_container(key_, "", {"type", status_notifier_handler::TYPE_ERROR, "message", desc}));
12 }
13 
14 void reactor_status_notifier::rejected_job(const std::string &job_id, const std::string &desc)
15 {
16  callback_(message_container(key_,
17  "",
18  {"type", status_notifier_handler::TYPE_JOB_STATUS, "id", job_id, "status", "FAILED", "message", desc}));
19 }
20 
21 void reactor_status_notifier::rejected_jobs(std::vector<std::string> job_ids, const std::string &desc)
22 {
23  for (auto &id : job_ids) {
24  rejected_job(id, desc);
25  }
26 }
27 
28 void reactor_status_notifier::job_done(const std::string &job_id)
29 {
30  callback_(
31  message_container(key_, "", {"type", status_notifier_handler::TYPE_JOB_STATUS, "id", job_id, "status", "OK"}));
32 }
33 
34 void reactor_status_notifier::job_failed(const std::string &job_id, const std::string &desc)
35 {
36  callback_(message_container(key_,
37  "",
38  {"type", status_notifier_handler::TYPE_JOB_STATUS, "id", job_id, "status", "FAILED", "message", desc}));
39 }
virtual void job_failed(const std::string &job_id, const std::string &desc="")
std::function< void(const message_container &)> response_cb
virtual void job_done(const std::string &job_id)
virtual void rejected_job(const std::string &job_id, const std::string &desc="")
virtual void error(const std::string &desc)
reactor_status_notifier(handler_interface::response_cb callback, const std::string &key)
static const std::string TYPE_ERROR
virtual void rejected_jobs(std::vector< std::string > job_ids, const std::string &desc="")
static const std::string TYPE_JOB_STATUS