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

#ifndef __gnu_java_util_prefs_FileBasedFactory__
#define __gnu_java_util_prefs_FileBasedFactory__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace util
      {
        namespace prefs
        {
            class FileBasedFactory;
        }
      }
    }
  }
}

class gnu::java::util::prefs::FileBasedFactory : public ::java::lang::Object
{

public:
  FileBasedFactory();
  virtual ::java::util::prefs::Preferences * systemRoot();
  virtual ::java::util::prefs::Preferences * userRoot();
private:
  static ::java::util::prefs::Preferences * systemPreferences;
  static ::java::util::prefs::Preferences * userPreferences;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_java_util_prefs_FileBasedFactory__
