package com.amd.aparapi.internal.opencl; import java.util.ArrayList; import java.util.List; import com.amd.aparapi.device.OpenCLDevice; import com.amd.aparapi.internal.jni.OpenCLJNI; public class OpenCLPlatform extends OpenCLJNI{ private long platformId; private final String version; private final String vendor; private final String name; private final List<OpenCLDevice> devices = new ArrayList<OpenCLDevice>(); /** * Default constructor */ public OpenCLPlatform() { version = ""; vendor = ""; name = ""; } /** * Full constructor * * @param _platformId * @param _version * @param _vendor * @param _name */ public OpenCLPlatform(long _platformId, String _version, String _vendor, String _name) { platformId = _platformId; version = _version; vendor = _vendor; name = _name; } public void addOpenCLDevice(OpenCLDevice device) { devices.add(device); } public List<OpenCLDevice> getOpenCLDevices() { return (devices); } public List<OpenCLPlatform> getOpenCLPlatforms() { if (OpenCLLoader.isOpenCLAvailable()) { return (getPlatforms()); } else { return (new ArrayList<OpenCLPlatform>()); } } public String getName() { return (name); } public String getVersion() { return (version); } public String getVendor() { return (vendor); } @Override public String toString() { final StringBuilder sb = new StringBuilder(); sb.append("PlatformId "); sb.append("\nName:"); sb.append(vendor); sb.append("\nVersion:"); sb.append(version); return sb.toString(); } }