content: 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;
      }
  }
  