Pakman
ForkedWorkerHandler.h
1 #ifndef FORKEDWORKERHANDLER_H
2 #define FORKEDWORKERHANDLER_H
3 
4 #include <string>
5 
6 #include "AbstractWorkerHandler.h"
7 
16 {
17 
18  public:
19 
29  ForkedWorkerHandler(const Command& simulator, const std::string&
30  input_string);
31 
37  virtual ~ForkedWorkerHandler() override;
38 
44  virtual bool isDone() override;
45 
46  private:
47 
53  void terminate();
54 
55  // Process id of simulator
56  pid_t m_child_pid;
57 
58  // File descriptors for pipes
59  int m_pipe_write_fd;
60  int m_pipe_read_fd;
61 
62  // Read pipe status flag
63  bool m_read_done = false;
64 };
65 
66 #endif // FORKEDWORKERHANDLER_H
virtual bool isDone() override
virtual ~ForkedWorkerHandler() override
ForkedWorkerHandler(const Command &simulator, const std::string &input_string)