import java.lang.System;

/**
 * The class Clips is a wrapper for the Clips
 *
 * @version 1.0f
 * @author Henrik Eriksson
 */


class Clips {

    /** Load the Clips library dynamically */
    static {
       System.loadLibrary("file");
    }


    /** Constructs a new Clips object and initializes Clips */
    Clips() {
      InitializeCLIPS();
    }


    /** Calls the Clips API function InitializeCLIPS() */
    public native void InitializeCLIPS();


    /** Calls the Clips API function CommandLoop() */
    public native void CommandLoop();


    /** Calls the Clips API function Load(filename) */
    public native int Load(String filename);


    /** Calls the Clips API function Clear() */
    public native void Clear();


    /** Calls the Clips API function Reset() */
    public native void Reset();


    /** Calls the Clips API function CLIPSFunctionCall(). Use this
        method to invoke Clips functions from java. */
    public native void CLIPSFunctionCall(String functionName,String arguments);


    /** The main method for the Clips wrapper. It is called automatically
       when the class is invoked by the java interpreter (java) */
    public static void main (String args[]) {
      new Clips().CommandLoop();
    }

}
