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);
        }
Beispiel #3
0
 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();
     }
 }