1 #ifndef ___RK_AIQSCENE_MANAGER_H__ 2 #define ___RK_AIQSCENE_MANAGER_H__ 3 4 #include "cJSON_Utils.h" 5 #include "stdint.h" 6 #include "stdio.h" 7 #include "stdlib.h" 8 #include "string.h" 9 10 #include <map> 11 #include <string> 12 13 using namespace RkCam; 14 15 class RkAiqsceneManager { 16 public: 17 explicit RkAiqsceneManager() = default; 18 ~RkAiqsceneManager() = default; 19 20 public: 21 static cJSON *mergeSubMultiScene(cJSON *sub_scene_list, cJSON *full_param, 22 bool skip); 23 24 static cJSON *mergeMainMultiScene(cJSON *main_scene_list); 25 26 static cJSON *mergeMultiSceneIQ(cJSON *base_json); 27 28 static cJSON *findMainScene(cJSON *base_json, const char *name); 29 30 static cJSON *findSubScene(cJSON *main_json, const char *name); 31 32 static cJSON *findSubScene(cJSON *json, const char *main_scene, 33 const char *sub_scene); 34 35 static cJSON *splitScene(cJSON *root_js, const char *main_scene, 36 const char *sub_scene); 37 38 static std::map<std::string, cJSON *> expandAllScene(cJSON *root_js); 39 static std::map<std::string, cJSON *> getMainSceneList(cJSON *root_js); 40 static std::map<std::string, cJSON *> getSubSceneList(cJSON *root_js, 41 const std::string name); 42 }; 43 44 #endif /*___RK_AIQSCENE_MANAGER_H__*/ 45