11#ifndef __BE_PROCESS_WORKERCONTROLLER_H__
12#define __BE_PROCESS_WORKERCONTROLLER_H__
39 std::shared_ptr<Worker> worker);
75 const std::string &name,
76 std::shared_ptr<void> argument);
94 const std::string &name,
113 const std::string &name,
132 const std::string &name,
133 const std::string &argument);
199 std::shared_ptr<Worker>
255 bool communicate = false) = 0;
Wrapper of a Worker returned from a Process::Manager.
int32_t _rv
Exit status from _worker.workerMain()
virtual void setParameterFromDouble(const std::string &name, double argument)
Set a double parameter to be passed to the Worker.
virtual void setParameterFromString(const std::string &name, const std::string &argument)
Set a string parameter to be passed to the Worker.
virtual bool isWorking() const =0
Obtain whether or not Worker is working.
virtual bool everWorked() const =0
Obtain whether or not this Worker has ever worked.
bool _rvSet
Whether or not _rv contains a true value.
bool finishedWorking() const
Obtain whether or not this Worker has both started and finished its task.
virtual void setParameterFromInteger(const std::string &name, int64_t argument)
Set an integer parameter to be passed to the Worker.
WorkerController(std::shared_ptr< Worker > worker)
WorkerController constructor.
virtual void reset()
Reuse the Worker.
std::shared_ptr< Worker > getWorker() const
Obtain the Worker instance being wrapped.
virtual void setParameter(const std::string &name, std::shared_ptr< void > argument)
Set the parameter to be passed to the Worker.
virtual void sendMessageToWorker(const Memory::uint8Array &message)
Send a message to the Worker contained within this WorkerController.
std::shared_ptr< Worker > _worker
The Worker instance that is running in this child.
virtual int32_t getExitStatus() const final
Obtain the exit status of the wrapped Worker.
An abstraction of an instance that performs work on given data.
This software was developed at the National Institute of Standards and Technology (NIST) by employees...