ifw-ccf 4.0.0
Loading...
Searching...
No Matches
dcsClient.hpp
Go to the documentation of this file.
1
5#ifndef CCF_COMMON_DCSCLIENT_HPP_H_
6#define CCF_COMMON_DCSCLIENT_HPP_H_
7
8#include <iostream>
9#include <stdexcept>
10#include <string>
11
12#include <boost/algorithm/string.hpp>
13
14#include <mal/Cii.hpp>
15#include <mal/Mal.hpp>
16#include <mal/utility/LoadMal.hpp>
17
18#include <rad/logger.hpp>
19
20#include <core/utils/param/parameterSet.hpp>
21
22#include <ccf/common/base.hpp>
23#include <Dcsif.hpp>
24#include <Recif.hpp>
25#include <Stdif.hpp>
26
27namespace ccf::common {
28
30 class DcsClient: public Base {
31 public:
32
33 const std::map<std::string, std::vector<std::string>> itf_to_req_map = {
34 {"StdCmds", {"Disable", "Enable", "Exit", "GetState", "GetStatus", "GetVersion",
35 "Init", "Reset", "SetLogLevel", "Stop"}},
36 {"DcsCmds", {"Abort", "Execute", "GetConfig", "GetDiagnostics", "GetDpData", "GetSetup",
37 "Ping", "ReadPars", "Recover", "Scan", "SetConfig", "Setup", "Start", "WritePars"}},
38 {"RecCmds", {"RecAbort", "RecContinue", "RecPause", "RecStart", "RecStatus", "RecStop", "RecWait"}}
39 };
40
42 static std::string RecStatusToString(const std::shared_ptr<recif::RecStatus>& rec_status);
43
45 static std::string RecWaitStatusToString(const std::shared_ptr<recif::RecWaitStatus>& rec_wait_status);
46
47 DcsClient();
48
50 DcsClient(const std::string& service_uri);
51
52 ~DcsClient();
53
55 std::string GenHelp(const std::string& application);
56
58 std::string GetInterfaceForRequest(const std::string& request);
59
61 std::string SendReq(const std::string& request,
62 const core::utils::param::ParameterSet& parameters);
63
65 virtual std::string SendReqUser(const std::string& request,
66 const core::utils::param::ParameterSet& parameters);
67
69 std::string SendReq(const std::string& request,
70 const std::string& parameters);
71
73 std::string ExecuteShellCmd(int argc, char** argv);
74
75 protected:
76
77 private:
78 void InitReqMapping();
79 std::map<std::string, std::string> m_req_to_itf_map;
80 std::string m_service_uri;
81 };
82
83}
84
85#endif // CCF_COMMON_DCSCLIENT_HPP_H_
Class to be used as parent all CCF classes.
Definition: base.hpp:107
Used to implement CCF Control client applications.
Definition: dcsClient.hpp:30
static std::string RecStatusToString(const std::shared_ptr< recif::RecStatus > &rec_status)
Convert Recording Status number to string representaiton.
Definition: dcsClient.cpp:11
std::string GetInterfaceForRequest(const std::string &request)
Return the interface, in which the given request is defined.
Definition: dcsClient.cpp:83
static std::string RecWaitStatusToString(const std::shared_ptr< recif::RecWaitStatus > &rec_wait_status)
Convert Recording Status string to number representaiton.
Definition: dcsClient.cpp:35
const std::map< std::string, std::vector< std::string > > itf_to_req_map
Definition: dcsClient.hpp:33
std::string SendReq(const std::string &request, const core::utils::param::ParameterSet &parameters)
Send the request to the associated CCF Control instance.
Definition: dcsClient.cpp:89
virtual std::string SendReqUser(const std::string &request, const core::utils::param::ParameterSet &parameters)
Method to actually send the request and receive the response.
Definition: dcsClient.cpp:106
DcsClient()
Definition: dcsClient.cpp:47
std::string GenHelp(const std::string &application)
Generate the help page as a string buffer.
Definition: dcsClient.cpp:61
~DcsClient()
Definition: dcsClient.cpp:57
std::string ExecuteShellCmd(int argc, char **argv)
Parse the command line options given and send the request/receive the response.
Definition: dcsClient.cpp:300
Definition: appBase.cpp:8