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

#ifndef __gnu_java_util_Base64__
#define __gnu_java_util_Base64__

#pragma interface

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

extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace util
      {
          class Base64;
      }
    }
  }
}

class gnu::java::util::Base64 : public ::java::lang::Object
{

  Base64();
public:
  static ::java::lang::String * encode(JArray< jbyte > *);
  static ::java::lang::String * encode(JArray< jbyte > *, jint);
  static ::java::lang::String * encode(JArray< jbyte > *, jint, jint, jint);
  static JArray< jbyte > * decode(::java::lang::String *);
private:
  static ::java::lang::String * BASE_64;
  static const jchar BASE_64_PAD = 61;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_java_util_Base64__
