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

#ifndef __org_ietf_jgss_GSSContext__
#define __org_ietf_jgss_GSSContext__

#pragma interface

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

extern "Java"
{
  namespace org
  {
    namespace ietf
    {
      namespace jgss
      {
        class GSSContext;
        class GSSCredential;
        class Oid;
        class GSSName;
        class ChannelBinding;
        class MessageProp;
      }
    }
  }
}

class org::ietf::jgss::GSSContext : public ::java::lang::Object
{
public:
  virtual jbyteArray initSecContext (jbyteArray, jint, jint) = 0;
  virtual jint initSecContext (::java::io::InputStream *, ::java::io::OutputStream *) = 0;
  virtual jbyteArray acceptSecContext (jbyteArray, jint, jint) = 0;
  virtual void acceptSecContext (::java::io::InputStream *, ::java::io::OutputStream *) = 0;
  virtual jboolean isEstablished () = 0;
  virtual void dispose () = 0;
  virtual jint getWrapSizeLimit (jint, jboolean, jint) = 0;
  virtual jbyteArray wrap (jbyteArray, jint, jint, ::org::ietf::jgss::MessageProp *) = 0;
  virtual void wrap (::java::io::InputStream *, ::java::io::OutputStream *, ::org::ietf::jgss::MessageProp *) = 0;
  virtual jbyteArray unwrap (jbyteArray, jint, jint, ::org::ietf::jgss::MessageProp *) = 0;
  virtual void unwrap (::java::io::InputStream *, ::java::io::OutputStream *, ::org::ietf::jgss::MessageProp *) = 0;
  virtual jbyteArray getMIC (jbyteArray, jint, jint, ::org::ietf::jgss::MessageProp *) = 0;
  virtual void getMIC (::java::io::InputStream *, ::java::io::OutputStream *, ::org::ietf::jgss::MessageProp *) = 0;
  virtual void verifyMIC (jbyteArray, jint, jint, jbyteArray, jint, jint, ::org::ietf::jgss::MessageProp *) = 0;
  virtual void verifyMIC (::java::io::InputStream *, ::java::io::InputStream *, ::org::ietf::jgss::MessageProp *) = 0;
  virtual jbyteArray export$ () = 0;
  virtual void requestMutualAuth (jboolean) = 0;
  virtual void requestReplayDet (jboolean) = 0;
  virtual void requestSequenceDet (jboolean) = 0;
  virtual void requestCredDeleg (jboolean) = 0;
  virtual void requestAnonymity (jboolean) = 0;
  virtual void requestConf (jboolean) = 0;
  virtual void requestInteg (jboolean) = 0;
  virtual void requestLifetime (jint) = 0;
  virtual void setChannelBinding (::org::ietf::jgss::ChannelBinding *) = 0;
  virtual jboolean getCredDelegState () = 0;
  virtual jboolean getMutualAuthState () = 0;
  virtual jboolean getReplayDetState () = 0;
  virtual jboolean getSequenceDetState () = 0;
  virtual jboolean getAnonymityState () = 0;
  virtual jboolean isTransferable () = 0;
  virtual jboolean isProtReady () = 0;
  virtual jboolean getConfState () = 0;
  virtual jboolean getIntegState () = 0;
  virtual jint getLifetime () = 0;
  virtual ::org::ietf::jgss::GSSName *getSrcName () = 0;
  virtual ::org::ietf::jgss::GSSName *getTargName () = 0;
  virtual ::org::ietf::jgss::Oid *getMech () = 0;
  virtual ::org::ietf::jgss::GSSCredential *getDelegCred () = 0;
  virtual jboolean isInitiator () = 0;
  static const jint DEFAULT_LIFETIME = 0L;
  static const jint INDEFINITE_LIFETIME = 2147483647L;

  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif /* __org_ietf_jgss_GSSContext__ */
