package com.ard.work.sdk.factory;
|
|
import com.ard.work.sdk.dh.service.DaHuaSDK;
|
import com.ard.work.sdk.fjr.service.FjrSDK;
|
import com.ard.work.sdk.hb.service.HbSDK;
|
import com.ard.work.sdk.hik.service.AbstractHikVisionSDK;
|
import com.ard.work.sdk.hik.service.HikSDK;
|
import com.ard.work.sdk.hp.service.HpSDK;
|
import com.ard.work.sdk.service.CameraSDK;
|
import com.ard.work.sdk.zlxd.service.ZlxdSDK;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Qualifier;
|
import org.springframework.stereotype.Component;
|
|
|
/**
|
* @Description: SDK策略工厂类
|
* @ClassName: SdkStrategyFactory
|
* @Author: 刘苏义
|
* @Date: 2023年11月07日10:53:00
|
**/
|
@Component
|
public class CameraSDKFactory {
|
|
@Autowired
|
@Qualifier("hikSDK")
|
private HikSDK hikSDK;
|
|
@Autowired
|
@Qualifier("dahuaSDK")
|
private DaHuaSDK dahuaSDK;
|
|
@Autowired
|
@Qualifier("hpSDK")
|
private HpSDK hpSDK;
|
|
@Autowired
|
@Qualifier("zlxdSDK")
|
private ZlxdSDK zlxdSDK;
|
|
@Autowired
|
@Qualifier("hbSDK")
|
private HbSDK hbSDK;
|
|
@Autowired
|
@Qualifier("fjrSDK")
|
private FjrSDK fjrSDK;
|
/**
|
* 根据传入的工厂参数创建相应的相机SDK实例
|
*
|
* @param factory 工厂参数,用于确定要创建的相机SDK类型
|
* @return 创建的相机SDK实例
|
* @throws IllegalArgumentException 如果传入的工厂参数不支持
|
*/
|
public CameraSDK createCameraSDK(String factory) {
|
switch (factory) {
|
case "1":
|
return hikSDK;
|
case "2":
|
return dahuaSDK;
|
case "4":
|
return zlxdSDK;
|
case "5":
|
return hpSDK;
|
case "7":
|
return hbSDK;
|
case "8":
|
return fjrSDK;
|
default:
|
throw new IllegalArgumentException("Unsupported device: " + factory);
|
}
|
}
|
}
|