add name/password fields to ServiceConfig so it can be used to create services

This commit is contained in:
Doug MacEachern 2005-06-26 02:42:40 +00:00
parent 82a5ad05ab
commit a0017f6dca
2 changed files with 45 additions and 1 deletions

View File

@ -74,6 +74,7 @@ public class Service extends Win32 {
private long manager;
private long service;
private String name;
private Service() throws Win32Exception
{
@ -96,6 +97,8 @@ public class Service extends Win32 {
if (this.service == 0) {
throw getLastErrorException();
}
this.name = serviceName;
}
protected void finalize()
@ -297,6 +300,7 @@ public class Service extends Win32 {
if (!QueryServiceConfig(this.service, config)) {
throw getLastErrorException();
}
config.setName(this.name);
return config;
}

View File

@ -78,11 +78,27 @@ public class ServiceConfig {
String binaryPathName;
String loadOrderGroup;
int tagId;
String[] dependencies = null;
String[] dependencies;
String serviceStartName;
String displayName;
String description;
String password;
String name;
ServiceConfig() {}
public ServiceConfig(String name) {
this.name = name;
this.type = TYPE_WIN32_OWN_PROCESS;
this.startType = START_AUTO;
this.errorControl = ERROR_NORMAL;
//msdn docs:
//"Specify an empty string if the account has no password
//or if the service runs in the LocalService, NetworkService,
//or LocalSystem account"
this.password = "";
}
/**
* @return Returns the binaryPathName.
*/
@ -206,4 +222,28 @@ public class ServiceConfig {
public void setDescription(String description) {
this.description = description;
}
/**
* @return Returns the password.
*/
public String getPassword() {
return password;
}
/**
* @param password The password to set.
*/
public void setPassword(String password) {
this.password = password;
}
/**
* @return Returns the name.
*/
public String getName() {
return name;
}
/**
* @param name The name to set.
*/
public void setName(String name) {
this.name = name;
}
}