/* 
 | 
 *  Copyright (c) 2021 Rockchip Corporation 
 | 
 * 
 | 
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 | 
 * you may not use this file except in compliance with the License. 
 | 
 * You may obtain a copy of the License at 
 | 
 * 
 | 
 *      http://www.apache.org/licenses/LICENSE-2.0 
 | 
 * 
 | 
 * Unless required by applicable law or agreed to in writing, software 
 | 
 * distributed under the License is distributed on an "AS IS" BASIS, 
 | 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 | 
 * See the License for the specific language governing permissions and 
 | 
 * limitations under the License. 
 | 
 * 
 | 
 */ 
 | 
  
 | 
#include "RkAiqCalibDbV2.h" 
 | 
#include "RkAiqUapitypes.h" 
 | 
#include "cJSON.h" 
 | 
#include "cJSON_Utils.h" 
 | 
#include "j2s.h" 
 | 
#include "stdlib.h" 
 | 
#include "string.h" 
 | 
#include "uAPI2/rk_aiq_user_api2_wrapper.h" 
 | 
#include "uAPI/rk_aiq_user_api_sysctl.h" 
 | 
#include "uAPI2/rk_aiq_user_api2_ae.h" 
 | 
#include "uAPI2/rk_aiq_user_api2_imgproc.h" 
 | 
  
 | 
int rk_aiq_uapi_sysctl_swWorkingModeDyn2(const rk_aiq_sys_ctx_t *ctx, 
 | 
                                         work_mode_t *mode) { 
 | 
  return rk_aiq_uapi_sysctl_swWorkingModeDyn(ctx, mode->mode); 
 | 
} 
 | 
  
 | 
int rk_aiq_uapi_sysctl_getWorkingModeDyn(const rk_aiq_sys_ctx_t *ctx, 
 | 
                                         work_mode_t *mode) { 
 | 
  (void)ctx; 
 | 
  mode->mode = RK_AIQ_WORKING_MODE_NORMAL; 
 | 
  return 0; 
 | 
} 
 | 
  
 | 
int rk_aiq_uapi2_setWBMode2(rk_aiq_sys_ctx_t *ctx, uapi_wb_mode_t *mode) { 
 | 
  return rk_aiq_uapi2_setWBMode(ctx, mode->mode); 
 | 
} 
 | 
  
 | 
int rk_aiq_uapi2_getWBMode2(rk_aiq_sys_ctx_t *ctx, uapi_wb_mode_t *mode) { 
 | 
  return rk_aiq_uapi2_getWBMode(ctx, &mode->mode); 
 | 
} 
 | 
  
 | 
int rk_aiq_user_api2_amerge_SetAttrib2(const rk_aiq_sys_ctx_t* sys_ctx, uapiMergeCurrCtlData_t* ctldata) 
 | 
{ 
 | 
  amerge_attrib_t setdata; 
 | 
  
 | 
  memset(&setdata, 0, sizeof(amerge_attrib_t)); 
 | 
  
 | 
  rk_aiq_user_api2_amerge_GetAttrib(sys_ctx, &setdata); 
 | 
  
 | 
  memcpy(&setdata.CtlInfo, ctldata, sizeof(uapiMergeCurrCtlData_t)); 
 | 
  
 | 
  return rk_aiq_user_api2_amerge_SetAttrib(sys_ctx, setdata); 
 | 
} 
 | 
  
 | 
int rk_aiq_user_api2_amerge_GetAttrib2(const rk_aiq_sys_ctx_t* sys_ctx, uapiMergeCurrCtlData_t* ctldata) 
 | 
{ 
 | 
  amerge_attrib_t setdata; 
 | 
  
 | 
  memset(&setdata, 0, sizeof(amerge_attrib_t)); 
 | 
  
 | 
  rk_aiq_user_api2_amerge_GetAttrib(sys_ctx, &setdata); 
 | 
  
 | 
  memcpy(ctldata, &setdata.CtlInfo, sizeof(uapiMergeCurrCtlData_t)); 
 | 
  
 | 
  return 0; 
 | 
} 
 | 
  
 | 
int rk_aiq_user_api2_set_scene(const rk_aiq_sys_ctx_t* sys_ctx, aiq_scene_t* scene) 
 | 
{ 
 | 
  return rk_aiq_uapi_sysctl_switch_scene(sys_ctx, scene->main_scene, scene->sub_scene); 
 | 
} 
 | 
  
 | 
int rk_aiq_user_api2_get_scene(const rk_aiq_sys_ctx_t* sys_ctx, aiq_scene_t* scene) 
 | 
{ 
 | 
  (void)sys_ctx; 
 | 
  scene->main_scene = strdup("normal"); 
 | 
  scene->sub_scene = strdup("day"); 
 | 
  
 | 
  return 0; 
 | 
} 
 |