AuboStudio SDK  0.6.3
io_model.h
浏览该文件的文档.
1#ifndef AUBO_SCOPE_IO_MODEL_H
2#define AUBO_SCOPE_IO_MODEL_H
3
4#include <vector>
5#include <functional>
8
9namespace arcs {
10namespace aubo_scope {
12
13/**
14 * @ingroup ApplicationApi
15 * Provides methods that returns I/Os from the current robot installation.
16 *
17 */
19{
20public:
24
25 /**
26 * @ingroup IoModel
27 * @return the collection of available I/Os, including Modbus, EuroMap67 and
28 * named General Purpose Registers.
29 */
30 std::vector<IoPtr> getAll();
31
32 /**
33 * @ingroup IoModel
34 * @ref Io
35 * @brief getIo
36 * @param name
37 * @return
38 */
39 IoPtr getIo(const std::string &name);
40
41 /**
42 * @ingroup IoModel
43 * @param filter, see {@link IOFilterFactory}
44 * @return the collection of IOs that are accepted by the filter.
45 */
46 std::vector<IoPtr> getIos(std::function<bool(IoPtr)> filter);
47
48private:
49 friend class DataSwitch;
51 void *d_{ nullptr };
52};
53
54} // namespace aubo_scope
55} // namespace arcs
56#endif
#define ARCS_ABI_EXPORT
#define ARCS_CLASS_FORWARD(C)
Macro that forward declares a class and defines the respective smartpointers through ARCS_DECLARE_PTR...
Provides methods that returns I/Os from the current robot installation.
std::vector< IoPtr > getAll()
std::vector< IoPtr > getIos(std::function< bool(IoPtr)> filter)
IoPtr getIo(const std::string &name)
Io