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

#ifndef __gnu_javax_sound_midi_alsa_AlsaPortDevice$AlsaTransmitter__
#define __gnu_javax_sound_midi_alsa_AlsaPortDevice$AlsaTransmitter__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace gnu
  {
    namespace javax
    {
      namespace sound
      {
        namespace midi
        {
          namespace alsa
          {
              class AlsaPortDevice;
              class AlsaPortDevice$AlsaTransmitter;
          }
        }
      }
    }
  }
  namespace javax
  {
    namespace sound
    {
      namespace midi
      {
          class Receiver;
      }
    }
  }
}

class gnu::javax::sound::midi::alsa::AlsaPortDevice$AlsaTransmitter : public ::java::lang::Object
{

public: // actually protected
  AlsaPortDevice$AlsaTransmitter(::gnu::javax::sound::midi::alsa::AlsaPortDevice *);
public:
  virtual void run();
  virtual void setReceiver(::javax::sound::midi::Receiver *);
  virtual ::javax::sound::midi::Receiver * getReceiver();
  virtual void close();
private:
  ::javax::sound::midi::Receiver * __attribute__((aligned(__alignof__( ::java::lang::Object)))) receiver;
public: // actually package-private
  ::gnu::javax::sound::midi::alsa::AlsaPortDevice * this$0;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_javax_sound_midi_alsa_AlsaPortDevice$AlsaTransmitter__
