iCub-main
serviceParserMultipleFt.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2022 Istituto Italiano di Tecnologia (IIT)
3  * All rights reserved.
4  * Author: Luca Tricerri
5  * This software may be modified and distributed under the terms of the
6  * BSD-3-Clause license. See the accompanying LICENSE file for details.
7  */
8 
9 #ifndef _SERVICEPARSERMULTIPLEFT_H_
10 #define _SERVICEPARSERMULTIPLEFT_H_
11 
12 #include <yarp/os/Bottle.h>
13 
14 #include <map>
15 #include <string>
16 
17 #include "EoAnalogSensors.h"
18 #include "EoBoards.h"
19 #include "EoManagement.h"
20 #include "EoMotionControl.h"
21 #include "ftInfo.h"
22 
23 using namespace yarp::os;
24 
26 {
27  public:
28  uint8_t checkPeriod;
29  eObrd_canmonitor_reportmode_t reportmode;
30  uint16_t periodofreport;
31 };
32 
34 {
35  public:
37  bool parse(const yarp::os::Searchable& config);
38  bool toEomn(eOmn_serv_config_data_as_ft_t& out) const;
39  std::map<std::string, FtInfo>& getFtInfo();
40 
41  protected:
42  virtual bool checkPropertyCanBoards(const Bottle& bPropertiesCanBoards);
43  virtual bool checkPropertySensors(const Bottle& property);
44  virtual bool checkSettings(const Bottle& settings);
45  virtual bool checkServiceType(const Bottle& service);
46  virtual bool checkCanMonitor(const Bottle& service);
47  virtual eObrd_type_t checkBoardType(const std::string& boardType);
48 
49  std::map<std::string /*sensor id*/, FtInfo> ftInfo_;
50  eObrd_canmonitor_cfg_t canMonitor_;
51 };
52 
53 #endif
eObrd_canmonitor_reportmode_t reportmode
Definition: ftInfo.h:17
eObrd_canmonitor_cfg_t canMonitor_
std::map< std::string, FtInfo > ftInfo_
yarp::sig::Vector & map(yarp::sig::Vector &v, double(op)(double))
Performs a unary operator inplace on each element of a vector.
Definition: Math.cpp:305
out
Definition: sine.m:8