public Object toNative(Object value, ToNativeContext context) { if (value == null) return null; String valueAsString = (String) value; ID valueAsID = Foundation.cfString(valueAsString); Foundation.sendReturnsID(valueAsID, "autorelease"); return valueAsID.toNative(); } }
public static void nsLog(String format, Object thing) { ID formatAsCFString = cfString(format); try { foundationLibrary.NSLog(formatAsCFString, thing); } finally { cfRelease(formatAsCFString); } }
@Override public Memory bufferForResult(Object methodCallResult) { Memory buffer = new Memory(NATIVE_POINTER_SIZE); ID idString = Foundation.cfString((String) methodCallResult); Foundation.sendReturnsID(idString, "autorelease"); buffer.setNativeLong(0, idString); return buffer; } });