
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaOutputPortInfo__
#define __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaOutputPortInfo__

#pragma interface

#include <gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaPortInfo.h>
extern "Java"
{
  namespace gnu
  {
    namespace javax
    {
      namespace sound
      {
        namespace midi
        {
          namespace alsa
          {
              class AlsaMidiDeviceProvider$AlsaOutputPortInfo;
          }
        }
      }
    }
  }
  namespace javax
  {
    namespace sound
    {
      namespace midi
      {
          class MidiDevice;
      }
    }
  }
}

class gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaOutputPortInfo : public ::gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaPortInfo
{

public:
  AlsaMidiDeviceProvider$AlsaOutputPortInfo(::java::lang::String *, ::java::lang::String *, jlong, jlong);
public: // actually package-private
  virtual ::javax::sound::midi::MidiDevice * getDevice();
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaOutputPortInfo__
