modulecomm.h 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. #ifndef MODULECOMM_H
  2. #define MODULECOMM_H
  3. #include <QtCore/qglobal.h>
  4. #include <QDateTime>
  5. #include <functional>
  6. #if defined(MODULECOMM_LIBRARY)
  7. # define MODULECOMMSHARED_EXPORT Q_DECL_EXPORT
  8. #else
  9. # define MODULECOMMSHARED_EXPORT Q_DECL_IMPORT
  10. #endif
  11. #ifndef USE_PLUS_MODULECOMM
  12. //#include <iostream>
  13. //#include <thread>
  14. //using namespace std::placeholders;
  15. typedef std::function<void(const char * ,const unsigned int , const unsigned int , QDateTime * ,const char *)> ModuleFun;
  16. typedef void (* SMCallBack)(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname);
  17. namespace iv {
  18. namespace modulecomm {
  19. void * MODULECOMMSHARED_EXPORT RegisterSend(const char * strcommname,const unsigned int nBufSize,const unsigned int nMsgBufCount);
  20. void * MODULECOMMSHARED_EXPORT RegisterRecv(const char * strcommname,SMCallBack pCall);
  21. void * MODULECOMMSHARED_EXPORT RegisterRecvPlus(const char * strcommname,ModuleFun xFun);
  22. void MODULECOMMSHARED_EXPORT ModuleSendMsg(void * pHandle,const char * strdata,const unsigned int nDataLen);
  23. void MODULECOMMSHARED_EXPORT Unregister(void * pHandle);
  24. void MODULECOMMSHARED_EXPORT PauseComm(void * pHandle);
  25. void MODULECOMMSHARED_EXPORT ContintuComm(void * pHandle);
  26. }
  27. }
  28. #else
  29. //#include <iostream>
  30. //#include <thread>
  31. //using namespace std::placeholders;
  32. #ifndef IV_MODULE_FUN
  33. typedef std::function<void(const char * ,const unsigned int , const unsigned int , QDateTime * ,const char *)> ModuleFun;
  34. typedef void (* SMCallBack)(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname);
  35. #define IV_MODULE_FUN
  36. #endif
  37. namespace iv {
  38. namespace modulecomm {
  39. enum ModuleComm_TYPE
  40. {
  41. ModuleComm_SHAREMEM = 0,
  42. ModuleComm_INTERIOR = 1,
  43. ModuleComm_FASTRTPS = 2,
  44. ModuleComm_FASTRTPS_TCP = 3
  45. };
  46. void * MODULECOMMSHARED_EXPORT RegisterSend(const char * strcommname,const unsigned int nBufSize,const unsigned int nMsgBufCount
  47. ,ModuleComm_TYPE xmctype = ModuleComm_SHAREMEM,const unsigned short nport = 5100);
  48. void * MODULECOMMSHARED_EXPORT RegisterRecv(const char * strcommname,SMCallBack pCall,
  49. ModuleComm_TYPE xmctype = ModuleComm_SHAREMEM,const char * strip = 0,const unsigned short = 5100);
  50. void * MODULECOMMSHARED_EXPORT RegisterRecvPlus(const char * strcommname,ModuleFun xFun,
  51. ModuleComm_TYPE xmctype = ModuleComm_SHAREMEM,const char * strip = 0,const unsigned short = 5100);
  52. void MODULECOMMSHARED_EXPORT ModuleSendMsg(void * pHandle,const char * strdata,const unsigned int nDataLen);
  53. void MODULECOMMSHARED_EXPORT Unregister(void * pHandle);
  54. void MODULECOMMSHARED_EXPORT PauseComm(void * pHandle);
  55. void MODULECOMMSHARED_EXPORT ContintuComm(void * pHandle);
  56. }
  57. }
  58. #endif
  59. #endif