/* GeoGebra - Dynamic Mathematics for Everyone http://www.geogebra.org This file is part of GeoGebra. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation. */ package org.geogebra.common.kernel; /** * Interface for classes that can call CAS asynchronously and receive callbacks * * @author Zbynek Konecny */ public interface AsynchronousCommand { /** * This flag switches using asynchronous CAS on or off in Desktop, has no * effect in Web. */ final public boolean USE_ASYNCHRONOUS = false; /** * @param output * CAS output as GeoGebra string * @param requestID * request number */ public void handleCASoutput(String output, int requestID); /** * @param exception * exception caused by given request * @param requestID * request number */ public void handleException(Throwable exception, int requestID); /** * @return whether caching is allowed for this command */ public boolean useCacheing(); /** * @return input for CAS as GeoGebraCAS string */ public String getCasInput(); /** * @return kernel */ public Kernel getKernel(); }