/*
* 类调用框架
*/
/* CameraApp.h */
class CameraApp
{
public:
CameraApp();
~CameraApp();
int Init(void);
int UnInit(void);
public:
XnetNode m_xnode_thd;
XcamServer m_xcam_thd;
};
/* CameraApp.cpp */
CameraApp::CameraApp():
m_xnode_thd(*this)
{}
/* XcamServer.h */
class CameraApp; /* 声明父类 */
class XcamServer
{
public:
XcamCtrl m_ctrl;
CameraApp &r_cams_; /* 父引用 */
}
/* XcamServer.cpp */
XcamServer::XcamServer(CameraApp &father)
: m_ctrl(*this),
r_cams_(father)
{}
/* XcamCtrl.h */
class XcamServer;
class XcamCtrl
{
public:
XcamCtrl() = delete;
XcamCtrl(XcamServer &Server);
~XcamCtrl();
private:
XcamServer &rXcamServer; /* 父引用 */
}
/* XcamCtrl.cpp */
XcamCtrl::XcamCtrl(XcamServer &Server)
: rXcamServer(Server)
{}
/* XnetNode.h */
class CameraApp; /* 声明父类 */
class XnetNode
{
public:
XnetNode() = delete;
XnetNode(CameraApp &father);
~XnetNode();
int Init(void);
int UnInit(void);
int DealRouterMsg(const char *data, int len);
private:
CameraApp &r_cams_; /* 父引用 */
}
/* XnetNode.cpp */
XnetNode::XnetNode(CameraApp &cams) : r_cams_(cams)
{}
int XnetNode::DealRouterMsg(const char *data, int len)
{
RouterF8Head_T *pPkt = (RouterF8Head_T *)&data[0];
RTK_GPS_EventData_S *pData = (RTK_GPS_EventData_S *)(&pPkt->data[0]);
RTKEventParameter para;
para.week = pData->week;
XcamCtrl &ctrl = r_cams_.m_xcam_thd.m_ctrl;
s32Res = ctrl.SendRTKEventParameter(para);
}