hlcc 2.0.0-beta2+pre1
Loading...
Searching...
No Matches
seqServerFacade.hpp
Go to the documentation of this file.
1
9#ifndef HLCC_TELIF_TELIFSIM_SEQSERVERFACADE_HPP
10#define HLCC_TELIF_TELIFSIM_SEQSERVERFACADE_HPP
11
12#include <string>
13#include <vector>
14#include <atomic>
15#include <thread>
16
17namespace hlcc::telifsim {
18
20
21 public:
22
30 SeqServerFacade(std::string ip, std::string port, std::string script);
31
36 virtual ~SeqServerFacade();
37
43 bool IsConnected();
44
50 void SetObVariable(std::string var_name, std::string var_value);
51
56 void SkipUserActions();
57
62 void SkipDefaultActions();
63
67 void RunScript();
68
75
84 static bool RunSystemCommand(
85 const std::string& cmd, const std::vector<std::string>& args, std::string& cmd_output
86 );
87
93 static std::string GetHostIp();
94
97
98 private:
99
103 void Initialize();
104
108 void LoadObScript();
109
122 std::string GetParameterIndex(std::string param_name);
123
137 std::vector<std::string> GetUserActionSteps();
138
153 std::vector<std::string> GetDefaultActionSteps();
154
160 bool Connect();
161
165 void SendCommand(std::string command);
166
170 void Disconnect();
171
173 std::string m_seq_ip; // Sequencer server ip address
174 std::string m_seq_port; // Sequencer server port
175 std::string m_seq_script; // Sequencer script to be loaded
176 int m_conn_status; // Status of connection to seq server (0 = success, -1 = errors.)
177 int m_client_fd; // Client file descriptor
178 std::atomic_bool m_socket_reader_loop; // While is true we will keep reading from the socket
179 std::thread m_socket_reader_thread; // Thread to handle the reading from the socket
180};
181
182} // namespace hlcc::telifsim
183
184#endif // HLCC_TELIF_TELIFSIM_SEQSERVERFACADE_HPP
Definition: seqServerFacade.hpp:19
virtual ~SeqServerFacade()
Definition: seqServerFacade.cpp:52
static std::string GetHostIp()
Definition: seqServerFacade.cpp:395
SeqServerFacade & operator=(const SeqServerFacade &)=delete
Disable copy constructor.
static bool RunSystemCommand(const std::string &cmd, const std::vector< std::string > &args, std::string &cmd_output)
Definition: seqServerFacade.cpp:355
void SkipUserActions()
Definition: seqServerFacade.cpp:93
bool IsConnected()
Definition: seqServerFacade.cpp:58
SeqServerFacade(const SeqServerFacade &)=delete
void RunScriptInteractive()
Definition: seqServerFacade.cpp:132
void SetObVariable(std::string var_name, std::string var_value)
Definition: seqServerFacade.cpp:79
void RunScript()
Definition: seqServerFacade.cpp:124
void SkipDefaultActions()
Definition: seqServerFacade.cpp:109
Definition: actionMgr.cpp:31