I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
Commit 205d8f7d authored by hypercubus's avatar hypercubus Committed by zzz
Browse files

initial commit of ServiceManager class; API is complete, so integration with...

initial commit of ServiceManager class; API is complete, so integration with routerconsole can proceed, but
return of error messages is not yet implemented, meaning returned exit values will all be null for now
parent d70c22d7
No related branches found
No related tags found
No related merge requests found
/*
* I2P - An anonymous, secure, and fully-distributed communication network.
*
* ServiceManager.java
* 2004 The I2P Project
* http://www.i2p.net
* This code is public domain.
*/
package net.i2p.router.web;
//import java.io.InputStream;
import net.i2p.util.ShellCommand;
/**
* Handles installation and uninstallation of I2P as a service.
*
* @author hypercubus
*/
public class ServiceManager {
private static final boolean IS_WINDOWS = System.getProperty("os.name").startsWith("Windows") ? true : false;
private ShellCommand _shellCommand = new ShellCommand();
/**
* Invokes the service wrapper installation script via a shell process.
*
* @return <code>null</code> if the installation was successful, otherwise
* a <code>String</code> containing the shell output including error
* messages is returned.
*/
public String installService() {
return exec("install_i2p_service_" + (IS_WINDOWS ? "winnt.bat" : "unix"));
}
/**
* Invokes the service wrapper uninstallation script via a shell process.
*
* @return <code>null</code> if the uninstallation was successful, otherwise
* a <code>String</code> containing the shell output including error
* messages is returned.
*/
public String uninstallService() {
return exec("uninstall_i2p_service_" + (IS_WINDOWS ? "winnt.bat" : "unix"));
}
private String exec(String command) {
// InputStream StdoutStream = _shellCommand.getInputStream();
// InputStream StderrStream = _shellCommand.getErrorStream();
StringBuffer result = null;
if (_shellCommand.executeAndWait(command))
return null;
else
if (result.toString().equals(""))
return null;
else
return result.toString();
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment