FOREIGN MODULE javax_security_auth_callback;

IMPORT
    java_lang := "java.lang",
    java_io := "java.io",
    java_util := "java.util";

TYPE

  Callback* = POINTER TO INTERFACE RECORD (java_lang.Object)
              END;

  CallbackHandler* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
                     END;

  ChoiceCallback* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + Callback + java_io.Serializable)    (* Typebound Procedures *)
                    STATIC
                      PROCEDURE Init*(    p0 : java_lang.String;
                                      IN  p1 : ARRAY OF java_lang.String;
                                          p2 : INTEGER;
                                          p3 : BOOLEAN) : ChoiceCallback,CONSTRUCTOR;
                    END;

  ConfirmationCallback* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + Callback + java_io.Serializable)    (* Typebound Procedures *)
                          STATIC
                            CANCEL*               = 2;
                            ERROR*                = 2;
                            INFORMATION*          = 0;
                            NO*                   = 1;
                            OK*                   = 3;
                            OK_CANCEL_OPTION*     = 2;
                            UNSPECIFIED_OPTION*   = -1;
                            WARNING*              = 1;
                            YES*                  = 0;
                            YES_NO_CANCEL_OPTION* = 1;
                            YES_NO_OPTION*        = 0;
                            PROCEDURE Init*(p0 : java_lang.String;
                                            p1 : INTEGER;
                                            p2 : INTEGER;
                                            p3 : INTEGER) : ConfirmationCallback,CONSTRUCTOR;
                            PROCEDURE Init*(    p0 : java_lang.String;
                                                p1 : INTEGER;
                                            IN  p2 : ARRAY OF java_lang.String;
                                                p3 : INTEGER) : ConfirmationCallback,CONSTRUCTOR;
                            PROCEDURE Init*(p0 : INTEGER;
                                            p1 : INTEGER;
                                            p2 : INTEGER) : ConfirmationCallback,CONSTRUCTOR;
                            PROCEDURE Init*(    p0 : INTEGER;
                                            IN  p1 : ARRAY OF java_lang.String;
                                                p2 : INTEGER) : ConfirmationCallback,CONSTRUCTOR;
                          END;

  LanguageCallback* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + Callback + java_io.Serializable)    (* Typebound Procedures *)
                      STATIC
                        PROCEDURE Init*() : LanguageCallback,CONSTRUCTOR;
                      END;

  NameCallback* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + Callback + java_io.Serializable)    (* Typebound Procedures *)
                  STATIC
                    PROCEDURE Init*(p0 : java_lang.String;
                                    p1 : java_lang.String) : NameCallback,CONSTRUCTOR;
                    PROCEDURE Init*(p0 : java_lang.String) : NameCallback,CONSTRUCTOR;
                  END;

  PasswordCallback* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + Callback + java_io.Serializable)    (* Typebound Procedures *)
                      STATIC
                        PROCEDURE Init*(p0 : java_lang.String;
                                        p1 : BOOLEAN) : PasswordCallback,CONSTRUCTOR;
                      END;

  TextInputCallback* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + Callback + java_io.Serializable)    (* Typebound Procedures *)
                       STATIC
                         PROCEDURE Init*(p0 : java_lang.String;
                                         p1 : java_lang.String) : TextInputCallback,CONSTRUCTOR;
                         PROCEDURE Init*(p0 : java_lang.String) : TextInputCallback,CONSTRUCTOR;
                       END;

  TextOutputCallback* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + Callback + java_io.Serializable)    (* Typebound Procedures *)
                        STATIC
                          ERROR*       = 2;
                          INFORMATION* = 0;
                          WARNING*     = 1;
                          PROCEDURE Init*(p0 : INTEGER;
                                          p1 : java_lang.String) : TextOutputCallback,CONSTRUCTOR;
                        END;

  UnsupportedCallbackException* = POINTER TO EXTENSIBLE RECORD (java_lang.Exception)    (* Typebound Procedures *)
                                  STATIC
                                    PROCEDURE Init*(p0 : Callback;
                                                    p1 : java_lang.String) : UnsupportedCallbackException,CONSTRUCTOR;
                                    PROCEDURE Init*(p0 : Callback) : UnsupportedCallbackException,CONSTRUCTOR;
                                  END;




PROCEDURE (self:CallbackHandler) handle*(IN  p0 : ARRAY OF Callback),NEW,ABSTRACT;

PROCEDURE (self:ChoiceCallback) allowMultipleSelections*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:ChoiceCallback) getChoices*() : POINTER TO ARRAY OF java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:ChoiceCallback) getDefaultChoice*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:ChoiceCallback) getPrompt*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:ChoiceCallback) getSelectedIndexes*() : POINTER TO ARRAY OF INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:ChoiceCallback) setSelectedIndex*(p0 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:ChoiceCallback) setSelectedIndexes*(IN  p0 : ARRAY OF INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:ConfirmationCallback) getDefaultOption*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:ConfirmationCallback) getMessageType*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:ConfirmationCallback) getOptions*() : POINTER TO ARRAY OF java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:ConfirmationCallback) getOptionType*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:ConfirmationCallback) getPrompt*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:ConfirmationCallback) getSelectedIndex*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:ConfirmationCallback) setSelectedIndex*(p0 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:LanguageCallback) getLocale*() : java_util.Locale,NEW,EXTENSIBLE;

PROCEDURE (self:LanguageCallback) setLocale*(p0 : java_util.Locale),NEW,EXTENSIBLE;

PROCEDURE (self:NameCallback) getDefaultName*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:NameCallback) getName*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:NameCallback) getPrompt*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:NameCallback) setName*(p0 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:PasswordCallback) clearPassword*(),NEW,EXTENSIBLE;

PROCEDURE (self:PasswordCallback) getPassword*() : POINTER TO ARRAY OF CHAR,NEW,EXTENSIBLE;

PROCEDURE (self:PasswordCallback) getPrompt*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:PasswordCallback) isEchoOn*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:PasswordCallback) setPassword*(IN  p0 : ARRAY OF CHAR),NEW,EXTENSIBLE;

PROCEDURE (self:TextInputCallback) getDefaultText*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:TextInputCallback) getPrompt*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:TextInputCallback) getText*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:TextInputCallback) setText*(p0 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:TextOutputCallback) getMessage*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:TextOutputCallback) getMessageType*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:UnsupportedCallbackException) getCallback*() : Callback,NEW,EXTENSIBLE;

END javax_security_auth_callback.