软总线组件代码说明

来源:互联网 发布:冰点 数据解析错误 编辑:程序博客网 时间:2024/05/29 06:55

软总线组件代码至少需要两个文件:

  • xxxxService.cpp
  • xxxxService.h

本文以mathService组件为例说明组件代码结构,mathService实现两个服务,

  • 两个数字相加,输出计算结果
  • 三个数字相加,输出计算结果

mathService.cpp的外部接口是

  • run,启动时调用1次,调用execute,在execute中将mathService类的指针通过dvSetServSrc2发布到数据交换总线。
  • operation,组件收到服务请求时调用,获取mathService类的指针,调用成员函数toDo。

成员函数toDo:

  • 使用信号量m_pmutex加锁
  • 获取操作码opc的值(inJs_->getObjOpc()

"TCP_HEADER":{"mode":5,"osc":1,"acce":2,"conn":1,"compl":2},

"TODO":{"opc":16},

"page":{"currRec":0,"getRecs":0},

"myRequest":{"msg":"add2Nums"},

"input_nums":{"num_a":1,"num_b":2}

  • 根据opc的值调用对应的功能成员函数
  • 在功能成员中解析输入参数"input_nums"节点的"num_a"和"num_b"的值

    "TCP_HEADER":{"mode":5,"osc":1,"acce":2,"conn":1,"compl":2},

    "TODO":{"opc":16},

    "page":{"currRec":0,"getRecs":0},

    "myRequest":{"msg":"add2Nums"},

    "input_nums":{"num_a":1,"num_b":2}

  • 计算得到结果,编辑outJs_,将计算结果写入outJs_的"calculation_result"节点的"num_sum"
  • 发送outJs_(succeedMsg(outJs_, "Succeed.");

    "calculation_result":{"num_sum":3},

    "myResponse":{"message":"Succeed.","returnCode":0}






0 0
原创粉丝点击