recordinfo.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #ifndef _RECORDINFO_H_
  2. #define _RECORDINFO_H_
  3. #include "IHttpFunc.h"
  4. #include "json/json.h"
  5. #include "SpBase.h"
  6. #ifndef RVC_UPLOAD_VIDEORECORDING_HTTP_API
  7. #define RVC_UPLOAD_VIDEORECORDING_HTTP_API "/api/upload/video_recording"
  8. #endif // !RVC_UPLOAD_VIDEORECORDING_HTTP_API
  9. #ifndef RVC_HTTPTIMEOUT
  10. #define RVC_HTTPTIMEOUT 20
  11. #endif // !RVC_HTTPTIMEOUT
  12. #define REFLECTION(var) #var
  13. //业务状态(0 - 失败,1 - 成功,2 - 取消,3 - 中断)
  14. enum eRvcBusinessStatus {
  15. eFailed,
  16. eSuccess,
  17. eCancel,
  18. eInterrupt
  19. };
  20. typedef struct record_item_s {
  21. std::string file_name;
  22. std::string file_path;
  23. int file_length;
  24. }record_item_t;
  25. //video_record_info_t
  26. typedef struct video_record_info_s {
  27. CSimpleStringA strServerURL;
  28. CSimpleStringA strAPI;
  29. CSimpleStringA strTerminalNo;
  30. CSimpleStringA strAppVersion;
  31. CSimpleStringA strRecordEndTime;
  32. CSimpleStringA strRecordID;
  33. int iBusinessStatus;
  34. vector<record_item_t*> vRecordList;
  35. }video_record_info_t;
  36. struct RecordInfoHTTPReq : CHTTPReq {
  37. std::string m_reqContent;
  38. virtual string ToJson() {
  39. return m_reqContent;
  40. }
  41. };
  42. struct RecordInfoHTTPRet : CHTTPRet {
  43. std::string m_request;
  44. bool m_success;
  45. std::string m_code;
  46. std::string m_message;
  47. std::string m_returnCode;
  48. std::string m_errorMsg;
  49. bool m_data;
  50. virtual bool Parse(string strData) {
  51. Json::Value root;
  52. Json::Reader reader;
  53. if (reader.parse(strData, root, false)) {
  54. m_success = root[REFLECTION(success)].asBool();
  55. m_code = root[REFLECTION(code)].asString();
  56. m_message = root[REFLECTION(message)].asString();
  57. m_returnCode = root[REFLECTION(returnCode)].asString();
  58. m_errorMsg = root[REFLECTION(errorMsg)].asString();
  59. m_data = root[REFLECTION(data)].asBool();
  60. }
  61. else {
  62. m_success = false;
  63. }
  64. return m_success;
  65. }
  66. };
  67. int post_video_recordinfo_list(unsigned int& uposttime, CSimpleStringA& errormsg, video_record_info_t* pinfo, int itimeout, bool bprintdbg);
  68. #endif