📄 exvideo.cpp
字号:
#include "exvideo.h"static QsStruct sQstruct;void SetsQstruct(QsStruct *inter){ memcpy(&sQstruct, inter, sizeof(QsStruct));}void InterStream(int channel, char *databuf, int frametype, int framelength){ QSDLWidget *ph = sQstruct.qsclass; void (QSDLWidget::*pmf)(int, char*, int, int) = sQstruct.pmf; (ph->*pmf)(channel, databuf, frametype, framelength);}void InterStart(int port){ QSDLWidget *ph = sQstruct.qsclass; void (QSDLWidget::*Startpmf)(int) = sQstruct.Startpmf; (ph->*Startpmf)(port);}void InterStop(int port){ QSDLWidget *ph = sQstruct.qsclass; void (QSDLWidget::*Stoppmf)(int) = sQstruct.Stoppmf; (ph->*Stoppmf)(port);}void InterMessage(char* buf, int length){ QSDLWidget *ph = sQstruct.qsclass; void (QSDLWidget::*Messagepmf)(char*, int) = sQstruct.Messagepmf; (ph->*Messagepmf)(buf, length);}int InterIP(int channel, char *sIP){ QSDLWidget *ph = sQstruct.qsclass; int (QSDLWidget::*IPpmf)(int, char*) = sQstruct.IPpmf; int temp = (ph->*IPpmf)(channel, sIP); printf(" IP return value: %d \n", temp); return temp;}int InterPassword(char* username, int namelen, char *password, int passlen){ QSDLWidget *ph = sQstruct.qsclass; int (QSDLWidget::*Passwordpmf)(char*, int, char *, int) = sQstruct.Passwordpmf; int temp = (ph->*Passwordpmf)(username, namelen, password, passlen); printf(" Password return value: %d \n", temp); return temp;}int InterCheck(int channel, char *username, int namelen, char *password, int passlen, char *sIP){ QSDLWidget *ph = sQstruct.qsclass; int (QSDLWidget::*Checkpmf)(int, char*, int, char*, int, char*) = sQstruct.Checkpmf; int temp = (ph->*Checkpmf)(channel, username, namelen, password, passlen, sIP); printf(" Check return value: %d \n", temp); return temp;}void InterDisconnect(int nport, char* sIP){ QSDLWidget *ph = sQstruct.qsclass; void (QSDLWidget::*Disconnectpmf)(int, char*) = sQstruct.Disconnectpmf; (ph->*Disconnectpmf)(nport, sIP);}void *intermediary(void *ptr){ DsStruct *pa = (DsStruct *)ptr; Dsclass *ph = pa ->dsclass; void* (Dsclass::*pmf)() = pa->pmf; return ((ph->*pmf)());}void InterImageStreamCallback(unsigned int channelNumber, void* context){ QSDLWidget *ph = sQstruct.qsclass; void (QSDLWidget::*ImageStreamCallbackpmf)(unsigned int, void*) = sQstruct.ImageStreamCallbackpmf; (ph->*ImageStreamCallbackpmf)(channelNumber, context);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -