package com.genersoft.iot.vmp.common.enums; 
 | 
  
 | 
import org.dom4j.Element; 
 | 
import org.springframework.util.ObjectUtils; 
 | 
  
 | 
  
 | 
/** 
 | 
 * @author gaofuwang 
 | 
 * @date 2023/01/18/ 10:09:00 
 | 
 * @since 1.0 
 | 
 */ 
 | 
public enum DeviceControlType { 
 | 
  
 | 
    /** 
 | 
     * 云台控制 
 | 
     * 上下左右,预置位,扫描,辅助功能,巡航 
 | 
     */ 
 | 
    PTZ("PTZCmd","云台控制"), 
 | 
    /** 
 | 
     * 远程启动 
 | 
     */ 
 | 
    TELE_BOOT("TeleBoot","远程启动"), 
 | 
    /** 
 | 
     * 录像控制 
 | 
     */ 
 | 
    RECORD("RecordCmd","录像控制"), 
 | 
    /** 
 | 
     * 布防撤防 
 | 
     */ 
 | 
    GUARD("GuardCmd","布防撤防"), 
 | 
    /** 
 | 
     * 告警控制 
 | 
     */ 
 | 
    ALARM("AlarmCmd","告警控制"), 
 | 
    /** 
 | 
     * 强制关键帧 
 | 
     */ 
 | 
    I_FRAME("IFameCmd","强制关键帧"), 
 | 
    /** 
 | 
     * 拉框放大 
 | 
     */ 
 | 
    DRAG_ZOOM_IN("DragZoomIn","拉框放大"), 
 | 
    /** 
 | 
     * 拉框缩小 
 | 
     */ 
 | 
    DRAG_ZOOM_OUT("DragZoomOut","拉框缩小"), 
 | 
    /** 
 | 
     * 看守位 
 | 
     */ 
 | 
    HOME_POSITION("HomePosition","看守位"); 
 | 
  
 | 
    private final String val; 
 | 
  
 | 
    private final String desc; 
 | 
  
 | 
    DeviceControlType(String val, String desc) { 
 | 
        this.val = val; 
 | 
        this.desc = desc; 
 | 
    } 
 | 
  
 | 
    public String getVal() { 
 | 
        return val; 
 | 
    } 
 | 
  
 | 
    public String getDesc() { 
 | 
        return desc; 
 | 
    } 
 | 
  
 | 
    public static DeviceControlType typeOf(Element rootElement) { 
 | 
        for (DeviceControlType item : DeviceControlType.values()) { 
 | 
            if (!ObjectUtils.isEmpty(rootElement.element(item.val)) || !ObjectUtils.isEmpty(rootElement.elements(item.val))) { 
 | 
                return item; 
 | 
            } 
 | 
        } 
 | 
        return null; 
 | 
    } 
 | 
} 
 |