summaryrefslogtreecommitdiff
path: root/src/main/java/net/sf/antcontrib/cpptasks/ide/DebugDef.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/sf/antcontrib/cpptasks/ide/DebugDef.java')
-rw-r--r--src/main/java/net/sf/antcontrib/cpptasks/ide/DebugDef.java127
1 files changed, 127 insertions, 0 deletions
diff --git a/src/main/java/net/sf/antcontrib/cpptasks/ide/DebugDef.java b/src/main/java/net/sf/antcontrib/cpptasks/ide/DebugDef.java
new file mode 100644
index 0000000..8ddd04e
--- /dev/null
+++ b/src/main/java/net/sf/antcontrib/cpptasks/ide/DebugDef.java
@@ -0,0 +1,127 @@
+/*
+*
+* Copyright 2004-2005 The Ant-Contrib project
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package net.sf.antcontrib.cpptasks.ide;
+
+import java.io.File;
+
+import org.apache.tools.ant.types.Commandline;
+import org.apache.tools.ant.types.Environment;
+import org.apache.tools.ant.types.DataType;
+
+
+/**
+* Specifies a debugging configuration for a project.
+*
+* @author Curt Arnold
+*/
+public final class DebugDef
+ extends DataType {
+
+ /**
+ * Working directory for debug runs.
+ */
+ private File dir;
+ /**
+ * Name of executable.
+ */
+ private String executable;
+ /**
+ * Environment used to hold environment variables.
+ */
+ private Environment env = new Environment();
+ /**
+ * Command line used to hold command line arguments.
+ */
+ private Commandline cmdl = new Commandline();
+
+ /**
+ * Constructor.
+ *
+ */
+ public DebugDef() {
+ }
+
+
+ /**
+ * Set the name of the executable program.
+ * @param value the name of the executable program
+ */
+ public void setExecutable(final String value) {
+ this.executable = value;
+ }
+
+ /**
+ * Get the name of the executable program.
+ * @return the name of the executable program, may be null.
+ */
+ public String getExecutable() {
+ return executable;
+ }
+
+ /**
+ * Set the working directory of the process.
+ * @param d the working directory of the process
+ */
+ public void setDir(final File d) {
+ this.dir = d;
+ }
+
+ /**
+ * Get the working directory of the process.
+ * @return the working directory of the process, may be null.
+ */
+ public File getDir() {
+ return dir;
+ }
+
+ /**
+ * Add an environment variable.
+ *
+ * @param var new environment variable
+ */
+ public void addEnv(final Environment.Variable var) {
+ env.addVariable(var);
+ }
+
+ /**
+ * Get the variable list as an array.
+ * @return array of key=value assignment strings
+ */
+ public String[] getVariables() {
+ return env.getVariables();
+ }
+
+
+ /**
+ * Adds a command-line argument.
+ *
+ * @return new command line argument created
+ */
+ public Commandline.Argument createArg() {
+ return cmdl.createArgument();
+ }
+
+ /**
+ * Returns all arguments defined by <code>addLine</code>,
+ * <code>addValue</code> or the argument object.
+ * @return array of command line arguments, may be zero-length.
+ */
+ public String[] getArguments() {
+ return cmdl.getArguments();
+ }
+
+}