public bool Init(IIPSMobileDownloadCallbackInterface callback) { if (mDownloader == System.IntPtr.Zero) { return(false); } mCallback = new DownloadCallBack(callback); return(InitDataDownloader(mDownloader, mCallback.mCallBack) > 0); }
public DownloadCallBack(IIPSMobileDownloadCallbackInterface CBImp) { IntPtr callback = GCHandle.ToIntPtr(GCHandle.Alloc(CBImp, 2)); this.errFunc = new DownloadCallBack.OnDownloadErrorFunc(DownloadCallBack.OnDownloadError); this.succFunc = new DownloadCallBack.OnDownloadSuccessFunc(DownloadCallBack.OnDownloadSuccess); this.progressFunc = new DownloadCallBack.OnDownloadProgressFunc(DownloadCallBack.OnDownloadProgress); this.mCallBack = DownloadCallBack.CreateDownlaodMgrCallBack(this.errFunc, this.succFunc, this.progressFunc, callback); }
public bool Init(IIPSMobileDownloadCallbackInterface callback) { if (this.mDownloader == IntPtr.Zero) { return(false); } this.mCallback = new DownloadCallBack(callback); return(InitDataDownloader(this.mDownloader, this.mCallback.mCallBack) > 0); }
protected override void Finalize() { try { if (this.mCallBack != IntPtr.Zero) { IntPtr downloadCallbackGCHandle = DownloadCallBack.GetDownloadCallbackGCHandle(this.mCallBack); GCHandle.FromIntPtr(downloadCallbackGCHandle).Free(); DownloadCallBack.DestroyDownlaodMgrCallBack(this.mCallBack); } } finally { base.Finalize(); } }