| 13 | #include "../MyParams/MyParam.h" |
| 14 | |
| 15 | class MyMatchNode : public CGraph::GNode { |
| 16 | public: |
| 17 | CStatus run () override { |
| 18 | auto* myParam = CGRAPH_GET_GPARAM_WITH_NO_EMPTY(MyParam, "param1"); |
| 19 | int value = 0; |
| 20 | { |
| 21 | CGRAPH_PARAM_READ_CODE_BLOCK(myParam) |
| 22 | value = myParam->iValue; |
| 23 | } |
| 24 | CGraph::CGRAPH_ECHO("[%s], iValue is [%d], Sleep for [%d] second ... ", \ |
| 25 | this->getName().c_str(), value, value); |
| 26 | CGRAPH_SLEEP_SECOND(value) |
| 27 | return CStatus(); |
| 28 | } |
| 29 | |
| 30 | CBool isMatch() override { |
| 31 | /** |
| 32 | * 本函数默认返回 false,所有的 GElement 即在 MultiCondition 中默认不执行 |
| 33 | * 如果需要被执行,则复写本函数,并且在调价符合的时候,返回 true,即可执行 |
| 34 | */ |
| 35 | auto* myParam = CGRAPH_GET_GPARAM_WITH_NO_EMPTY(MyParam, "param1"); |
| 36 | return 0 != myParam->iCount % 2; // 当本条件返回是 true的时候,本节点才会在 MultiCondition 中被执行 |
| 37 | } |
| 38 | }; |
| 39 | |
| 40 | #endif //CGRAPH_MYMATCHNODE_H |
nothing calls this directly
no outgoing calls
no test coverage detected