package de.lazyzero.kkMulticopterFlashTool.utils.avra; import java.io.File; import java.io.IOException; import java.util.Vector; import org.apache.commons.io.FileUtils; public abstract class AvraCommandLine { private String target; private String avra; private File workingDir; public AvraCommandLine(String target, File workingDir) { this.setTarget(target); this.setWorkingDir(workingDir); String os = System.getProperty("os.name").toLowerCase(); if (os.contains("windows")) { this.setAvra(getAvraDir() + "avra.exe"); } else { this.setAvra(getAvraDir() + "avra"); } } public String getAvraDir() { String os = System.getProperty("os.name").toLowerCase(); String path = ""; if (os.contains("windows")) { path = (System.getProperty("user.dir") + "\\lib\\avra\\win\\"); } else if (os.contains("mac")) { String basepath = System.getProperty("java.library.path"); basepath = basepath.substring(0, basepath.indexOf(":")); path = (basepath + "/lib/avra/mac/"); } else if (os.contains("linux")) { path = (System.getProperty("user.dir")+"/lib/avra/linux/"); } return path; } public String getAvra() { return avra; } private void setAvra(String avra) { this.avra = avra; } public String getTarget() { return target; } public void setTarget(String target) { this.target = target; } public File getWorkingDir() { return workingDir; } public void setWorkingDir(File workingDir) { this.workingDir = workingDir; } public abstract Vector<String> getCommandLine(); public abstract void clean() throws IOException; public abstract File getHexFile() throws IOException; }