AuboStudio SDK  0.6.3
persisted_variable.h
浏览该文件的文档.
1#ifndef AUBO_SCOPE_PERSISTED_VARIABLE_H
2#define AUBO_SCOPE_PERSISTED_VARIABLE_H
3
5
6namespace arcs {
7namespace aubo_scope {
9
10/**
11 * This interface represents variables stored with the installation. These
12 * variables are defined in the installation and will exist even when a robot is
13 * turned off and on.
14 */
16{
17public:
21
22 /**
23 * A persisted variable can not be guaranteed to be present. This method can
24 * be used to determine, if the variable is present.
25 *
26 *The persisted variable will not be present, if the end user loads a
27 *different installation which does not contain the variable, or if the
28 *variable is deleted by the end user.
29 *
30 * A program node storing a <code>PersistedVariable</code> in its Data
31 *Model will be undefined if the variable cannot be resolved (i.e. the
32 *variable is not present).
33 *
34 * @return <code>true</code>, if this persisted variable is resolvable (i.e.
35 * present in the current installation).
36 */
38
39protected:
41
42private:
43 friend class DataSwitch;
44 void *d_{ nullptr };
45};
46
48{
49 bool operator()(VariablePtr var)
50 {
51 return std::dynamic_pointer_cast<PersistedVariable>(var) != nullptr &&
52 var->getType() == Variable::VALUE_PERSISTED;
53 }
54};
55
56} // namespace aubo_scope
57} // namespace arcs
58#endif // AUBO_SCOPE_PERSISTED_VARIABLE_H
#define ARCS_ABI_EXPORT
#define ARCS_CLASS_FORWARD(C)
Macro that forward declares a class and defines the respective smartpointers through ARCS_DECLARE_PTR...
This interface represents variables stored with the installation.
bool isResolvable()
A persisted variable can not be guaranteed to be present.
PersistedVariable(PersistedVariable &&f)
PersistedVariable(PersistedVariable &f)