internal static Int8Array TryGetFromCache(IntPtr native) { if (native == null) { return(null); } if (cacheRepo.ContainsKey(native)) { Int8Array cacheRet; cacheRepo[native].TryGetTarget(out cacheRet); if (cacheRet != null) { cbg_Int8Array_Release(native); return(cacheRet); } else { cacheRepo.Remove(native); } } var newObject = new Int8Array(new MemoryHandle(native)); cacheRepo[native] = new WeakReference <Int8Array>(newObject); return(newObject); }
public Int8Array GetBuffer() { var ret = cbg_StaticFile_GetBuffer(selfPtr); return(Int8Array.TryGetFromCache(ret)); }
public Int8Array GetTempBuffer() { var ret = cbg_StreamFile_GetTempBuffer(selfPtr); return(Int8Array.TryGetFromCache(ret)); }
public void CopyTo(Int8Array array, int size) { cbg_Int8Array_CopyTo(selfPtr, array != null ? array.selfPtr : IntPtr.Zero, size); }