internal static CfxRequestCallback Wrap(IntPtr nativePtr) { if (nativePtr == IntPtr.Zero) { return(null); } lock (weakCache) { var wrapper = (CfxRequestCallback)weakCache.Get(nativePtr); if (wrapper == null) { wrapper = new CfxRequestCallback(nativePtr); weakCache.Add(wrapper); } else { CfxApi.cfx_release(nativePtr); } return(wrapper); } }
internal static CfxRequestCallback Wrap(IntPtr nativePtr) { if(nativePtr == IntPtr.Zero) return null; lock(weakCache) { var wrapper = (CfxRequestCallback)weakCache.Get(nativePtr); if(wrapper == null) { wrapper = new CfxRequestCallback(nativePtr); weakCache.Add(wrapper); } else { CfxApi.cfx_release(nativePtr); } return wrapper; } }