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

#ifndef __org_apache_lucene_store_db_DbIndexOutput__
#define __org_apache_lucene_store_db_DbIndexOutput__

#pragma interface

#include <org/apache/lucene/store/IndexOutput.h>
#include <gcj/array.h>

extern "Java"
{
  namespace org
  {
    namespace apache
    {
      namespace lucene
      {
        namespace store
        {
          namespace db
          {
            class DbIndexOutput;
            class File;
            class Block;
            class DbDirectory;
          }
        }
      }
    }
  }
}

class org::apache::lucene::store::db::DbIndexOutput : public ::org::apache::lucene::store::IndexOutput
{
public:  // actually protected
  DbIndexOutput (::org::apache::lucene::store::db::DbDirectory *, ::java::lang::String *, jboolean);
public:
  virtual void close ();
  virtual void flush ();
  virtual void writeByte (jbyte);
  virtual void writeBytes (jbyteArray, jint);
  virtual jlong length () { return length__; }
  virtual void seek (jlong);
  virtual jlong getFilePointer () { return position; }
  static const jint BLOCK_SHIFT = 14L;
  static const jint BLOCK_LEN = 16384L;
  static const jint BLOCK_MASK = 16383L;
public:  // actually protected
  jlong __attribute__((aligned(__alignof__( ::org::apache::lucene::store::IndexOutput ))))  position;
  jlong length__;
  ::org::apache::lucene::store::db::DbDirectory *directory;
  ::org::apache::lucene::store::db::Block *block;
  ::org::apache::lucene::store::db::File *file;
public:

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

#endif /* __org_apache_lucene_store_db_DbIndexOutput__ */
