From 4d348191412077970954f3bc6e672a34f4a7980b Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Fri, 26 Feb 2010 03:22:49 +0100 Subject: implemented Serialization for CLProgramBuilder. CLProgram.getBinaries() is now ordered. updated junit to 4.8.1. javadoc fixes. --- src/com/mbien/opencl/CLBuildConfiguration.java | 33 +++++++++++++++++++------- 1 file changed, 25 insertions(+), 8 deletions(-) (limited to 'src/com/mbien/opencl/CLBuildConfiguration.java') diff --git a/src/com/mbien/opencl/CLBuildConfiguration.java b/src/com/mbien/opencl/CLBuildConfiguration.java index 7b6ee1e2..86b5cfa2 100644 --- a/src/com/mbien/opencl/CLBuildConfiguration.java +++ b/src/com/mbien/opencl/CLBuildConfiguration.java @@ -1,19 +1,27 @@ 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 */ -public interface CLBuildConfiguration { +public interface CLBuildConfiguration extends Cloneable { /** * Builds or rebuilds the program. - * @param program The program which should be build. + * @param program The program which should be build. */ public CLProgram build(CLProgram program); + /** + * Sets the program which should be build. + */ + public CLProgramConfiguration setProgram(CLProgram program); + /** * Adds the device as build target. */ @@ -31,38 +39,47 @@ public interface CLBuildConfiguration { /** * Adds the definition to the build configuration. - * @see public CLProgram#define(java.lang.String) + * @see CLProgram#define(java.lang.String) */ public CLBuildConfiguration withDefine(String name); /** * Adds the definition to the build configuration. - * @see public CLProgram#define(java.lang.String, java.lang.String) + * @see CLProgram#define(java.lang.String, java.lang.String) */ public CLBuildConfiguration withDefine(String name, Object value); /** * Adds the definitions to the build configuration. - * @see public CLProgram#define(java.lang.String) + * @see CLProgram#define(java.lang.String) */ public CLBuildConfiguration withDefines(String... names); /** * Adds the definitions to the build configuration. - * @see public CLProgram#define(java.lang.String, java.lang.String) + * @see CLProgram#define(java.lang.String, java.lang.String) */ public CLBuildConfiguration withDefines(Map defines); /** * Adds the compiler option to the build configuration. - * @see CompilerOptions + * @see CLProgram.CompilerOptions */ public CLBuildConfiguration withOption(String option); /** * Adds the compiler options to the build configuration. - * @see CompilerOptions + * @see CLProgram.CompilerOptions */ public CLBuildConfiguration withOptions(String... options); + /** + * Clones this configuration. + */ + public CLBuildConfiguration clone(); + + public void save(ObjectOutputStream oos) throws IOException; + + public CLBuildConfiguration load(ObjectInputStream ois) throws IOException, ClassNotFoundException; + } -- cgit v1.2.3