// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

module midi.mojom;

enum Result {
  NOT_INITIALIZED,
  OK,
  NOT_SUPPORTED,
  INITIALIZATION_ERROR,

  // New code should be inserted here so that existing members keep the same
  // assigned value. //tools/metrics/histograms/histograms.xml contains a enum
  // entry that should be consistent with enum Result.

  // |MAX| is used in content/common/media/midi_messages.h with
  // IPC_ENUM_TRAITS_MAX_VALUE macro. Keep the value up to date. Otherwise
  // a new value can not be passed to the renderer.
  // TODO(toyoshim): Remove |MAX| once IPC is replaced with Mojo.
  // http://crbug.com/582327
  MAX = INITIALIZATION_ERROR,
};

enum PortState {
  DISCONNECTED,
  CONNECTED,
  OPENED,
  // TODO(toyosim): Remove |LAST| once IPC is replaced with Mojo.
  // http://crbug.com/582327
  LAST = OPENED,
};

// TODO(toyoshim): MidiPortInfo, and MidiService should be
// declared here.
// http://crbug.com/582327
