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