/**
 * Copyright (c) 2017, 2020 Kichwa Coders Ltd. and others.
 * 
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0,
 * or the Eclipse Distribution License v. 1.0 which is available at
 * http://www.eclipse.org/org/documents/edl-v10.php.
 * 
 * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
 */
package org.eclipse.lsp4j.debug;

import com.google.gson.annotations.SerializedName;

/**
 * Names of checksum algorithms that may be supported by a debug adapter.
 */
@SuppressWarnings("all")
public enum ChecksumAlgorithm {
  @SerializedName("MD5")
  MD5,
  
  @SerializedName("SHA1")
  SHA1,
  
  @SerializedName("SHA256")
  SHA256,
  
  TIMESTAMP;
}
