EasyGBD_DemoDlg.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. 
  2. // EasyGBD_DemoDlg.h: 头文件
  3. //
  4. #pragma once
  5. #include "osmutex.h"
  6. #include <vector>
  7. #include "GB28181DeviceAPI.h"
  8. #include "EasyStreamClientAPI.h"
  9. //#pragma comment(lib, "libEasyStreamClient.lib")
  10. #include <string>
  11. using namespace std;
  12. typedef vector<string> LOG_VECTOR;
  13. #define WM_UPDATE_LOG (WM_USER+1001)
  14. typedef struct __GB28181_CHANNEL_T
  15. {
  16. int id;
  17. char sourceURL[260];
  18. Easy_Handle streamClientHandle;
  19. //ATC_HANDLE atcHandle;
  20. int videoCodec;
  21. int srcAudioCodec;
  22. int sendStatus;
  23. int audioOutputFormat;
  24. FILE* fDat;
  25. void* userptr;
  26. }GB28181_CHANNEL_T;
  27. typedef struct __GB28181_DEVICE_T
  28. {
  29. GB28181_CHANNEL_T* pChannel;
  30. }GB28181_DEVICE_T;
  31. #define MAX_GB28181_CHANNEL_NUM 1
  32. // CEasyGBDDemoDlg 对话框
  33. class CEasyGBDDemoDlg : public CDialogEx
  34. {
  35. // 构造
  36. public:
  37. CEasyGBDDemoDlg(CWnd* pParent = nullptr); // 标准构造函数
  38. CEdit* pEdtServerSipID; //IDC_EDIT_SERVER_SIPID
  39. CEdit* pEdtServerIP; //IDC_EDIT_SERVER_IP
  40. CEdit* pEdtServerPort; //IDC_EDIT_SERVER_PORT
  41. CEdit* pEdtRegExpire; //IDC_EDIT_REG_EXPIRE
  42. CEdit* pEdtHeartbeatCount; //IDC_EDIT_HEARTBEAT_COUNT
  43. CEdit* pEdtHeartbeatInterval; //IDC_EDIT_HEARTBEAT_INTERVAL
  44. CComboBox* pComboxProtocol; //IDC_COMBO_PROTOCOL
  45. CEdit* pEdtPassword; //IDC_EDIT_PASSWORD
  46. CEdit* pEdtLocalSipID; //IDC_EDIT_LOCAL_SIPID
  47. CEdit* pEdtLocalPort; //IDC_EDIT_LOCAL_PORT
  48. CEdit* pEdtSourceURL; //IDC_EDIT_SOURCE_URL
  49. CButton* pBtnStartup; //IDC_BUTTON_STARTUP
  50. CButton* pBtnShutdown; //IDC_BUTTON_SHUTDOWN
  51. CRichEditCtrl* pRichEditLog; //IDC_RICHEDIT2_LOG
  52. int Startup(const char *serverSIPId, const char *serverIP, const int serverPort,
  53. const int reg_expires, const int heartbeatCount, const int heartbeatInterval,
  54. const int protocol, const char *password, const char *localSIPId, const int localPort, const char *sourceURL);
  55. void Shutdown();
  56. GB28181_DEVICE_T mGB28181Device;
  57. int OutputLog(char* szFormat, ...);
  58. void OutputLog2UI();
  59. void LockLogMutex() { LockMutex(&mLogMutex); }
  60. void UnlockLogMutex() { UnlockMutex(&mLogMutex); }
  61. LOG_VECTOR mLogVector;
  62. OSMutex mLogMutex;
  63. // 对话框数据
  64. #ifdef AFX_DESIGN_TIME
  65. enum { IDD = IDD_EASYGBD_DEMO_DIALOG };
  66. #endif
  67. protected:
  68. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
  69. // 实现
  70. protected:
  71. HICON m_hIcon;
  72. // 生成的消息映射函数
  73. virtual BOOL OnInitDialog();
  74. afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
  75. afx_msg void OnPaint();
  76. afx_msg HCURSOR OnQueryDragIcon();
  77. DECLARE_MESSAGE_MAP()
  78. afx_msg LRESULT OnUpdateLog(WPARAM, LPARAM);
  79. public:
  80. afx_msg void OnBnClickedButtonStart();
  81. afx_msg void OnDestroy();
  82. afx_msg void OnBnClickedButtonShutdown();
  83. afx_msg void OnBnClickedButtonBrowse();
  84. };