package kornell.scorm.client.scorm12; import static kornell.scorm.client.scorm12.Scorm12.logger; public class SCORM12Binder { public static void bindToWindow(SCORM12Adapter api) { nativeBind(api); logger.info("SCORM 1.2 API Adapter bound to window."); } public static native void nativeBind(SCORM12Adapter api) /*-{ var API = $wnd.API || {}; //[instance-expr.]@class-name::method-name(param-signature)(arguments) API.LMSInitialize = function(param) { return api.@kornell.scorm.client.scorm12.SCORM12Adapter::LMSInitialize(Ljava/lang/String;)(param); } API.LMSFinish = function(param) { return api.@kornell.scorm.client.scorm12.SCORM12Adapter::LMSFinish(Ljava/lang/String;)(param); } API.LMSGetLastError = function() { return api.@kornell.scorm.client.scorm12.SCORM12Adapter::LMSGetLastError()(); } API.LMSGetValue = function(param,moduleUUID) { return api.@kornell.scorm.client.scorm12.SCORM12Adapter::LMSGetValue(Ljava/lang/String;Ljava/lang/String;)(param,moduleUUID); } API.LMSCommit = function(param) { return api.@kornell.scorm.client.scorm12.SCORM12Adapter::LMSCommit(Ljava/lang/String;)(param); } API.LMSSetValue = function(param, value, moduleUUID) { switch (typeof value) { case "number": var dbl = @java.lang.Double::valueOf(D)(value); return api.@kornell.scorm.client.scorm12.SCORM12Adapter::LMSSetDouble(Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)(param,dbl,moduleUUID); case "string": return api.@kornell.scorm.client.scorm12.SCORM12Adapter::LMSSetString(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)(param,value,moduleUUID); default: throw "SCORM 1.2 Unsupported value type" } } // Modules Extension API.launch = function(param) { return api.@kornell.scorm.client.scorm12.SCORM12Adapter::launch(Ljava/lang/String;)(param); } // End Of Modules Extension $wnd.API = API; }-*/; }