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>
6 #include <aubo_caps/class_forward.h>
7 #include <aubo_caps/domain/io/io.h>
8
9 namespace arcs {
10 namespace aubo_scope {
11 ARCS_CLASS_FORWARD(IoModel);
12
13 /**
14 * @defgroup IoModel IoModel (I/O)
15 * Provides methods that returns I/Os from the current robot installation.
16 *
17 */
18 class ARCS_ABI_EXPORT IoModel
19 {
20 public:
21 IoModel(IoModel &f);
22 IoModel(IoModel &&f);
23 ~IoModel();
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 * @brief getIo
35 * @param name
36 * @return
37 */
38 IoPtr getIo(const std::string &name);
39
40 /**
41 * @ingroup IoModel
42 * @param filter, see {@link IOFilterFactory}
43 * @return the collection of IOs that are accepted by the filter.
44 */
45 std::vector<IoPtr> getIos(std::function<bool(IoPtr)> filter);
46
47 private:
48 friend class DataSwitch;
49 IoModel();
50 void *d_{ nullptr };
51 };
52
53 } // namespace aubo_scope
54 } // namespace arcs
55 #endif
class_forward.h
ARCS_ABI_EXPORT
#define ARCS_ABI_EXPORT
Definition: class_forward.h:16
arcs::aubo_scope::IoModel
Definition: io_model.h:19
arcs::aubo_scope::IoModel::IoModel
IoModel(IoModel &f)
arcs::aubo_scope::IoModel::IoModel
IoModel()
arcs::aubo_scope::IoModel::~IoModel
~IoModel()
arcs::aubo_scope::IoModel::IoModel
IoModel(IoModel &&f)
arcs::aubo_scope::IoModel::getIos
std::vector< IoPtr > getIos(std::function< bool(IoPtr)> filter)
arcs::aubo_scope::IoModel::getAll
std::vector< IoPtr > getAll()
arcs::aubo_scope::IoModel::getIo
IoPtr getIo(const std::string &name)
getIo
io.h
arcs::aubo_scope::ARCS_CLASS_FORWARD
ARCS_CLASS_FORWARD(GripForceCapability)
arcs
Definition: contribution_provider.h:7