/* * @Author: your name * @Date: 2021-11-17 18:58:13 * @LastEditTime: 2021-12-15 14:37:23 * @LastEditors: Please set LastEditors * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @FilePath: /tsl_aiplatform/src/tsl_aiplatform/reprocessing_module/base_reprocessing_unit.h */ #pragma once #ifdef POST_USE_RABBITMQ #include "../ai_platform/header.h" #endif // #ifdef POST_USE_RABBITMQ #include "stl_aiplatform_header.h" #include "snapshot_reprocessing.h" #include "task_param_manager.h" #include "./post_reprocessing.hpp" #ifndef _MSC_VER #ifndef TRUE #define TRUE 1 #endif #ifndef FALSE #define FALSE 0 #endif #define Sleep(a) usleep((a)*1000) //typedef int BOOL; #define BOOL bool typedef unsigned int DWORD; typedef void* LPVOID; #endif enum class data_device_t { GPU = 0, CPU = 1, }; typedef struct multi_image_t { const sy_img &ori_img, &roi_img; std::string ori_fpath, roi_fpath; data_device_t ori_data_device, roi_data_device; explicit multi_image_t(const sy_img &_ori_img, const sy_img &_roi_img) : ori_img(_ori_img) , roi_img(_roi_img) {} } multi_image_t; class base_reprocessing_unit { protected: task_param_manager *_task_param_manager; typedef std::function callback_t; public: snapshot_reprocessing *_snapshot_reprocessing; base_reprocessing_unit() {}; virtual ~base_reprocessing_unit() {}; #ifdef POST_USE_RABBITMQ virtual void set_callback(callback_t cb) = 0; #endif virtual void reprocessing_process(const OBJ_KEY &obj_key) = 0; virtual void reprocessing_process_face(const OBJ_KEY &obj_key) = 0; //人脸快照后处理函数 virtual void reprocessing_process_wo_locus(const OBJ_KEY &obj_key, const multi_image_t &m_image, bool enable_async #ifdef POST_USE_RABBITMQ , const std::string &json_str #endif ) = 0; };