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 * ingroup ApplicationApi
12 * This interface represents variables stored with the installation. These
13 * variables are defined in the installation and will exist even when a robot is
14 * turned off and on.
15 */
17{
18public:
22
23 /**
24 * @ingroup PersistedVariable
25 * \chinese
26 * 持久化变量无法保证始终存在。当终端用户加载不包含该变量的不同安装或删除该变量时,
27 * 持久化变量将不可用。如果变量无法解析,存储了PersistedVariable的程序节点将变
28 * 为未定义。
29 * @return 如果持久化变量可解析(即存在于当前安装中)返回<code>true</code>。
30 * \endchinese
31 * \english
32 * A persisted variable can not be guaranteed to be present. This method can
33 * be used to determine, if the variable is present.
34 *
35 * The persisted variable will not be present, if the end user loads a
36 * different installation which does not contain the variable, or if the
37 * variable is deleted by the end user.
38 *
39 * A program node storing a <code>PersistedVariable</code> in its Data
40 * Model will be undefined if the variable cannot be resolved (i.e. the
41 * variable is not present).
42 *
43 * @return <code>true</code>, if this persisted variable is resolvable (i.e.
44 * present in the current installation).
45 * \endenglish
46 */
48
49protected:
51
52private:
53 friend class DataSwitch;
54 void *d_{ nullptr };
55};
56
58{
59 bool operator()(VariablePtr var)
60 {
61 return std::dynamic_pointer_cast<PersistedVariable>(var) != nullptr &&
62 var->getType() == Variable::VALUE_PERSISTED;
63 }
64};
65
66} // namespace aubo_scope
67} // namespace arcs
68#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...
ingroup ApplicationApi This interface represents variables stored with the installation.
bool isResolvable()
\chinese 持久化变量无法保证始终存在。当终端用户加载不包含该变量的不同安装或删除该变量时, 持久化变量将不可用。如果变量无法解析,存储了PersistedVariable的程序节点将变 为未定义...
PersistedVariable(PersistedVariable &&f)
PersistedVariable(PersistedVariable &f)