/* * This file is part of the RootTools Project: http://code.google.com/p/roottools/ * * Copyright (c) 2012 Stephen Erickson, Chris Ravenscroft, Dominik Schuermann, Adam Shanks * * This code is dual-licensed under the terms of the Apache License Version 2.0 and * the terms of the General Public License (GPL) Version 2. * You may use this code according to either of these licenses as is most appropriate * for your project on a case-by-case basis. * * The terms of each license can be found in the root directory of this project's repository as well as at: * * * http://www.apache.org/licenses/LICENSE-2.0 * * http://www.gnu.org/licenses/gpl-2.0.txt * * Unless required by applicable law or agreed to in writing, software * distributed under these Licenses is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See each License for the specific language governing permissions and * limitations under that License. */ package com.stericson.RootTools; import java.io.Serializable; /** * Implement this interface and inject the resulting object * when invoking <code>sendShell</code>. * <code>RootTools</code> comes with a reference implementation: * <code>RootTools.Result</code> */ public interface IResult { public abstract void process(String line) throws Exception; public abstract void processError(String line) throws Exception; public abstract void onFailure(Exception ex); public abstract void onComplete(int diag); public IResult setProcess(Process process); public Process getProcess(); public IResult setData(Serializable data); public Serializable getData(); public IResult setError(int error); public int getError(); }