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

#ifndef __javax_activation_MailcapCommandMap__
#define __javax_activation_MailcapCommandMap__

#pragma interface

#include <javax/activation/CommandMap.h>
#include <gcj/array.h>

extern "Java"
{
  namespace javax
  {
    namespace activation
    {
        class CommandInfo;
        class DataContentHandler;
        class MailcapCommandMap;
    }
  }
}

class javax::activation::MailcapCommandMap : public ::javax::activation::CommandMap
{

public:
  MailcapCommandMap();
  MailcapCommandMap(::java::lang::String *);
  MailcapCommandMap(::java::io::InputStream *);
private:
  void init(::java::io::Reader *);
public:
  virtual JArray< ::javax::activation::CommandInfo * > * getPreferredCommands(::java::lang::String *);
  virtual JArray< ::javax::activation::CommandInfo * > * getAllCommands(::java::lang::String *);
  virtual ::javax::activation::CommandInfo * getCommand(::java::lang::String *, ::java::lang::String *);
  virtual void addMailcap(::java::lang::String *);
  virtual ::javax::activation::DataContentHandler * createDataContentHandler(::java::lang::String *);
  virtual JArray< ::java::lang::String * > * getNativeCommands(::java::lang::String *);
private:
  void addNativeCommands(::java::util::List *, ::java::util::Map *, ::java::lang::String *);
  static ::java::lang::String * nameOf(jint);
  void parseFile(jint, ::java::lang::String *);
  void parseResource(jint, ::java::lang::String *);
  void parse(jint, ::java::io::Reader *);
  void parseEntry(jint, ::java::lang::String *);
  void addField(::java::util::Map *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *);
  ::java::util::Map * getCommands(::java::util::Map *, ::java::lang::String *);
  ::java::util::List * getSystemResources(::java::lang::String *);
  static const jint PROG = 0;
  static const jint HOME = 1;
  static const jint SYS = 2;
  static const jint JAR = 3;
  static const jint DEF = 4;
  static jboolean debug;
  static const jint NORMAL = 0;
  static const jint FALLBACK = 1;
  JArray< JArray< ::java::util::Map * > * > * __attribute__((aligned(__alignof__( ::javax::activation::CommandMap)))) mailcaps;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_activation_MailcapCommandMap__