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

#ifndef __javax_security_auth_callback_ChoiceCallback__
#define __javax_security_auth_callback_ChoiceCallback__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>

extern "Java"
{
  namespace javax
  {
    namespace security
    {
      namespace auth
      {
        namespace callback
        {
          class ChoiceCallback;
        }
      }
    }
  }
}

class javax::security::auth::callback::ChoiceCallback : public ::java::lang::Object
{
public:
  ChoiceCallback (::java::lang::String *, JArray< ::java::lang::String *> *, jint, jboolean);
  virtual ::java::lang::String *getPrompt () { return prompt; }
  virtual JArray< ::java::lang::String *> *getChoices () { return choices; }
  virtual jint getDefaultChoice () { return defaultChoice; }
  virtual jboolean allowMultipleSelections () { return multipleSelectionsAllowed; }
  virtual void setSelectedIndex (jint);
  virtual void setSelectedIndexes (jintArray);
  virtual jintArray getSelectedIndexes () { return selections; }
private:
  void setPrompt (::java::lang::String *);
  void setChoices (JArray< ::java::lang::String *> *);
  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object )))) prompt;
  JArray< ::java::lang::String *> *choices;
  jint defaultChoice;
  jboolean multipleSelectionsAllowed;
  jintArray selections;
public:

  static ::java::lang::Class class$;
};

#endif /* __javax_security_auth_callback_ChoiceCallback__ */
