ifw-ccf 5.0.2
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 <Dcsif.hpp>
21#include <Recif.hpp>
22#include <Stdif.hpp>
23
24#include <ifw/core/utils/param/parameterSet.hpp>
25
27
28
29namespace ifw::ccf::common {
30
32 class DcsClient: public Base {
33 public:
34
35 const std::map<std::string, std::vector<std::string>> itf_to_req_map = {
36 {"StdCmds", {"Disable", "Enable", "Exit", "GetState", "GetStatus", "GetVersion",
37 "Init", "Reset", "SetLogLevel", "Stop"}},
38 {"DcsCmds", {"Abort", "Execute", "GetConfig", "GetDiagnostics", "GetDpData", "GetSetup",
39 "Ping", "ReadPars", "Recover", "Scan", "SetConfig", "Setup", "Start", "WritePars"}},
40 {"RecCmds", {"RecAbort", "RecContinue", "RecPause", "RecStart", "RecStatus", "RecStop", "RecWait"}}
41 };
42
44 static std::string RecStatusToString(const std::shared_ptr<recif::RecStatus>& rec_status);
45
47 static std::string RecWaitStatusToString(const std::shared_ptr<recif::RecWaitStatus>& rec_wait_status);
48
49 DcsClient();
50
52 DcsClient(const std::string& service_uri);
53
54 ~DcsClient();
55
57 std::string GenHelp(const std::string& application);
58
60 std::string GetInterfaceForRequest(const std::string& request);
61
63 std::string SendReq(const std::string& request,
64 const ifw::core::utils::param::ParameterSet& parameters);
65
67 virtual std::string SendReqUser(const std::string& request,
68 const ifw::core::utils::param::ParameterSet& parameters);
69
71 std::string SendReq(const std::string& request,
72 const std::string& parameters);
73
75 std::string ExecuteShellCmd(int argc, char** argv);
76
77 protected:
78
79 private:
80 void InitReqMapping();
81 std::map<std::string, std::string> m_req_to_itf_map;
82 std::string m_service_uri;
83 };
84
85}
86
87#endif // CCF_COMMON_DCSCLIENT_HPP_H_
Class to be used as parent all CCF classes.
Definition base.hpp:120
Used to implement CCF Control client applications.
Definition dcsClient.hpp:32
std::string ExecuteShellCmd(int argc, char **argv)
Parse the command line options given and send the request/receive the response.
Definition dcsClient.cpp:313
DcsClient()
Definition dcsClient.cpp:60
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:119
static std::string RecWaitStatusToString(const std::shared_ptr< recif::RecWaitStatus > &rec_wait_status)
Convert Recording Status string to number representaiton.
Definition dcsClient.cpp:47
const std::map< std::string, std::vector< std::string > > itf_to_req_map
Definition dcsClient.hpp:35
std::string GetInterfaceForRequest(const std::string &request)
Return the interface, in which the given request is defined.
Definition dcsClient.cpp:96
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:102
std::string GenHelp(const std::string &application)
Generate the help page as a string buffer.
Definition dcsClient.cpp:74
static std::string RecStatusToString(const std::shared_ptr< recif::RecStatus > &rec_status)
Convert Recording Status number to string representaiton.
Definition dcsClient.cpp:12
~DcsClient()
Definition dcsClient.cpp:70
Definition appBase.cpp:9