MCPcopy Create free account
hub / github.com/ChunelFeng/CGraph / tutorial_element_param

Function tutorial_element_param

tutorial/T15-ElementParam.cpp:15–51  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

13using namespace CGraph;
14
15void tutorial_element_param() {
16 GPipelinePtr pipeline = GPipelineFactory::create();
17 GElementPtr a, v1, v2 = nullptr;
18
19 pipeline->registerGElement<MyNode1>(&a, {}, "node-1");
20 /**
21 * 注册同样类型(MyEParamNode)的节点,但在下方传入不同类型的参数(EParam)
22 * 从而执行不同的结果
23 */
24 pipeline->registerGElement<MyEParamNode>(&v1, {a}, "version-1");
25 pipeline->registerGElement<MyEParamNode>(&v2, {v1}, "version-2");
26
27 MyVersionParam vp1;
28 vp1.priority_ = 1;
29 vp1.secondary_ = 1;
30 /**
31 * 往v1中,传入参数特定参数
32 */
33 v1->addEParam(VERSION_PARAM_KEY, &vp1);
34
35 /**
36 * 可以根据需要,传入不同 key 值的不同类型的参数
37 * 被传入的参数类,需要是GPassedParam类(或其衍生类)的子类
38 */
39 MyVersionParam vp2;
40 vp2.priority_ = 2;
41 vp2.secondary_ = 2;
42 v2->addEParam(VERSION_PARAM_KEY, &vp2);
43
44 MyConnParam cp;
45 cp.ip_ = "127.0.0.1";
46 cp.port_ = 8080;
47 v2->addEParam(CONN_PARAM_KEY, &cp);
48
49 pipeline->process(); // 运行pipeline
50 GPipelineFactory::remove(pipeline);
51}
52
53
54int main() {

Callers 1

mainFunction · 0.85

Calls 3

createFunction · 0.85
removeFunction · 0.85
processMethod · 0.45

Tested by

no test coverage detected