summaryrefslogtreecommitdiffstats
path: root/src/com/mbien/opencl/CLBuildConfiguration.java
diff options
context:
space:
mode:
authorMichael Bien <[email protected]>2010-02-26 17:32:34 +0100
committerMichael Bien <[email protected]>2010-02-26 17:32:34 +0100
commit75d392f3fff6d47fdccae9a8915fea61cdbef990 (patch)
treed4ea906c6ad2d744d33b2cd48a233d52dd358e29 /src/com/mbien/opencl/CLBuildConfiguration.java
parent4d348191412077970954f3bc6e672a34f4a7980b (diff)
improved CLProgramBuilder and implemented propper configuration loading.
Diffstat (limited to 'src/com/mbien/opencl/CLBuildConfiguration.java')
-rw-r--r--src/com/mbien/opencl/CLBuildConfiguration.java24
1 files changed, 21 insertions, 3 deletions
diff --git a/src/com/mbien/opencl/CLBuildConfiguration.java b/src/com/mbien/opencl/CLBuildConfiguration.java
index 86b5cfa2..eee641a0 100644
--- a/src/com/mbien/opencl/CLBuildConfiguration.java
+++ b/src/com/mbien/opencl/CLBuildConfiguration.java
@@ -1,13 +1,14 @@
package com.mbien.opencl;
import java.io.IOException;
-import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.Map;
/**
* Configuration representing everything needed to build an OpenCL program.
* @author Michael Bien
+ * @see CLProgramBuilder#createConfiguration()
+ * @see CLProgramBuilder#loadConfiguration(java.io.ObjectInputStream)
*/
public interface CLBuildConfiguration extends Cloneable {
@@ -38,6 +39,21 @@ public interface CLBuildConfiguration extends Cloneable {
public CLBuildConfiguration reset();
/**
+ * Resets this builder's configuration options.
+ */
+ public CLBuildConfiguration resetOptions();
+
+ /**
+ * Resets this builder's macro definitions.
+ */
+ public CLBuildConfiguration resetDefines();
+
+ /**
+ * Resets this builder's device list.
+ */
+ public CLBuildConfiguration resetDevices();
+
+ /**
* Adds the definition to the build configuration.
* @see CLProgram#define(java.lang.String)
*/
@@ -78,8 +94,10 @@ public interface CLBuildConfiguration extends Cloneable {
*/
public CLBuildConfiguration clone();
+ /**
+ * Saves this configuration to the ObjectOutputStream.
+ * The caller is responsible for closing the stream.
+ */
public void save(ObjectOutputStream oos) throws IOException;
- public CLBuildConfiguration load(ObjectInputStream ois) throws IOException, ClassNotFoundException;
-
}