Beispiel #1
0
 public void Dispose()
 {
     if (_self != null)
     {
         Release();
         _self = null;
     }
     GC.SuppressFinalize(this);
 }
        public static void add_ref(cef_download_item_t *self)
        {
            add_ref_delegate d;
            var p = self->_base._add_ref;

            if (p == _p0)
            {
                d = _d0;
            }
            else
            {
                d = (add_ref_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(add_ref_delegate));
                if (_p0 == IntPtr.Zero)
                {
                    _d0 = d; _p0 = p;
                }
            }
            d(self);
        }
        public static cef_string_userfree *get_content_disposition(cef_download_item_t *self)
        {
            get_content_disposition_delegate d;
            var p = self->_get_content_disposition;

            if (p == _p13)
            {
                d = _d13;
            }
            else
            {
                d = (get_content_disposition_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(get_content_disposition_delegate));
                if (_p13 == IntPtr.Zero)
                {
                    _d13 = d; _p13 = p;
                }
            }
            return(d(self));
        }
        public static cef_string_userfree *get_mime_type(cef_download_item_t *self)
        {
            get_mime_type_delegate d;
            var p = self->_get_mime_type;

            if (p == _p14)
            {
                d = _d14;
            }
            else
            {
                d = (get_mime_type_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(get_mime_type_delegate));
                if (_p14 == IntPtr.Zero)
                {
                    _d14 = d; _p14 = p;
                }
            }
            return(d(self));
        }
Beispiel #5
0
        public static int get_refct(cef_download_item_t *self)
        {
            get_refct_delegate d;
            var p = self->_base._get_refct;

            if (p == _p2)
            {
                d = _d2;
            }
            else
            {
                d = (get_refct_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(get_refct_delegate));
                if (_p2 == IntPtr.Zero)
                {
                    _d2 = d; _p2 = p;
                }
            }
            return(d(self));
        }
        public static cef_string_userfree *get_original_url(cef_download_item_t *self)
        {
            get_original_url_delegate d;
            var p = self->_get_original_url;

            if (p == _p11)
            {
                d = _d11;
            }
            else
            {
                d = (get_original_url_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(get_original_url_delegate));
                if (_p11 == IntPtr.Zero)
                {
                    _d11 = d; _p11 = p;
                }
            }
            return(d(self));
        }
        public static int release(cef_download_item_t *self)
        {
            release_delegate d;
            var p = self->_base._release;

            if (p == _p1)
            {
                d = _d1;
            }
            else
            {
                d = (release_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(release_delegate));
                if (_p1 == IntPtr.Zero)
                {
                    _d1 = d; _p1 = p;
                }
            }
            return(d(self));
        }
        public static cef_string_userfree *get_full_path(cef_download_item_t *self)
        {
            get_full_path_delegate d;
            var p = self->_get_full_path;

            if (p == _pe)
            {
                d = _de;
            }
            else
            {
                d = (get_full_path_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(get_full_path_delegate));
                if (_pe == IntPtr.Zero)
                {
                    _de = d; _pe = p;
                }
            }
            return(d(self));
        }
        public static int has_at_least_one_ref(cef_download_item_t *self)
        {
            has_at_least_one_ref_delegate d;
            var p = self->_base._has_at_least_one_ref;

            if (p == _p3)
            {
                d = _d3;
            }
            else
            {
                d = (has_at_least_one_ref_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(has_at_least_one_ref_delegate));
                if (_p3 == IntPtr.Zero)
                {
                    _d3 = d; _p3 = p;
                }
            }
            return(d(self));
        }
        public static int get_percent_complete(cef_download_item_t *self)
        {
            get_percent_complete_delegate d;
            var p = self->_get_percent_complete;

            if (p == _p9)
            {
                d = _d9;
            }
            else
            {
                d = (get_percent_complete_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(get_percent_complete_delegate));
                if (_p9 == IntPtr.Zero)
                {
                    _d9 = d; _p9 = p;
                }
            }
            return(d(self));
        }
        public static long get_received_bytes(cef_download_item_t *self)
        {
            get_received_bytes_delegate d;
            var p = self->_get_received_bytes;

            if (p == _pb)
            {
                d = _db;
            }
            else
            {
                d = (get_received_bytes_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(get_received_bytes_delegate));
                if (_pb == IntPtr.Zero)
                {
                    _db = d; _pb = p;
                }
            }
            return(d(self));
        }
        public static int is_canceled(cef_download_item_t *self)
        {
            is_canceled_delegate d;
            var p = self->_is_canceled;

            if (p == _p7)
            {
                d = _d7;
            }
            else
            {
                d = (is_canceled_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(is_canceled_delegate));
                if (_p7 == IntPtr.Zero)
                {
                    _d7 = d; _p7 = p;
                }
            }
            return(d(self));
        }
        public static long get_current_speed(cef_download_item_t *self)
        {
            get_current_speed_delegate d;
            var p = self->_get_current_speed;

            if (p == _p8)
            {
                d = _d8;
            }
            else
            {
                d = (get_current_speed_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(get_current_speed_delegate));
                if (_p8 == IntPtr.Zero)
                {
                    _d8 = d; _p8 = p;
                }
            }
            return(d(self));
        }
        public static int is_in_progress(cef_download_item_t *self)
        {
            is_in_progress_delegate d;
            var p = self->_is_in_progress;

            if (p == _p5)
            {
                d = _d5;
            }
            else
            {
                d = (is_in_progress_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(is_in_progress_delegate));
                if (_p5 == IntPtr.Zero)
                {
                    _d5 = d; _p5 = p;
                }
            }
            return(d(self));
        }
        public static int is_complete(cef_download_item_t *self)
        {
            is_complete_delegate d;
            var p = self->_is_complete;

            if (p == _p6)
            {
                d = _d6;
            }
            else
            {
                d = (is_complete_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(is_complete_delegate));
                if (_p6 == IntPtr.Zero)
                {
                    _d6 = d; _p6 = p;
                }
            }
            return(d(self));
        }
        public static uint get_id(cef_download_item_t *self)
        {
            get_id_delegate d;
            var             p = self->_get_id;

            if (p == _pf)
            {
                d = _df;
            }
            else
            {
                d = (get_id_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(get_id_delegate));
                if (_pf == IntPtr.Zero)
                {
                    _df = d; _pf = p;
                }
            }
            return(d(self));
        }
        public static cef_time_t get_end_time(cef_download_item_t *self)
        {
            get_end_time_delegate d;
            var p = self->_get_end_time;

            if (p == _pd)
            {
                d = _dd;
            }
            else
            {
                d = (get_end_time_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(get_end_time_delegate));
                if (_pd == IntPtr.Zero)
                {
                    _dd = d; _pd = p;
                }
            }
            return(d(self));
        }
        public static cef_string_userfree *get_suggested_file_name(cef_download_item_t *self)
        {
            get_suggested_file_name_delegate d;
            var p = self->_get_suggested_file_name;

            if (p == _p12)
            {
                d = _d12;
            }
            else
            {
                d = (get_suggested_file_name_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(get_suggested_file_name_delegate));
                if (_p12 == IntPtr.Zero)
                {
                    _d12 = d; _p12 = p;
                }
            }
            return(d(self));
        }
Beispiel #19
0
 private CefDownloadItem(cef_download_item_t* ptr)
 {
     if (ptr == null) throw new ArgumentNullException("ptr");
     _self = ptr;
 }
Beispiel #20
0
        private void on_download_updated(cef_download_handler_t *self, cef_browser_t *browser, cef_download_item_t *download_item, cef_download_item_callback_t *callback)
        {
            CheckSelf(self);

            var m_browser       = CefBrowser.FromNative(browser);
            var m_download_item = CefDownloadItem.FromNative(download_item);
            var m_callback      = CefDownloadItemCallback.FromNative(callback);

            OnDownloadUpdated(m_browser, m_download_item, m_callback);

            m_download_item.Dispose();
        }
Beispiel #21
0
        private void on_before_download(cef_download_handler_t *self, cef_browser_t *browser, cef_download_item_t *download_item, cef_string_t *suggested_name, cef_before_download_callback_t *callback)
        {
            CheckSelf(self);

            var m_browser        = CefBrowser.FromNative(browser);
            var m_download_item  = CefDownloadItem.FromNative(download_item);
            var m_suggested_name = cef_string_t.ToString(suggested_name);
            var m_callback       = CefBeforeDownloadCallback.FromNative(callback);

            OnBeforeDownload(m_browser, m_download_item, m_suggested_name, m_callback);

            m_download_item.Dispose();
        }
 internal static CefDownloadItem FromNative(cef_download_item_t *ptr)
 {
     return(new CefDownloadItem(ptr));
 }
Beispiel #23
0
 public CefDownloadItem(cef_download_item_t *instance)
     : base((cef_base_ref_counted_t *)instance)
 {
 }
        /// <summary>
        /// Called before a download begins. |suggested_name| is the suggested name for
        /// the download file. By default the download will be canceled. Execute
        /// |callback| either asynchronously or in this method to continue the download
        /// if desired. Do not keep a reference to |download_item| outside of this
        /// method.
        /// </summary>
        // protected abstract void OnBeforeDownload(cef_browser_t* browser, cef_download_item_t* download_item, cef_string_t* suggested_name, cef_before_download_callback_t* callback);

        private void on_download_updated(cef_download_handler_t *self, cef_browser_t *browser, cef_download_item_t *download_item, cef_download_item_callback_t *callback)
        {
            CheckSelf(self);
            throw new NotImplementedException(); // TODO: CefDownloadHandler.OnDownloadUpdated
        }
 public unsafe extern void OnDownloadUpdated(cef_browser_t *browser, cef_download_item_t *download_item, cef_download_item_callback_t *callback);
Beispiel #26
0
        // void (*)(_cef_download_handler_t* self, _cef_browser_t* browser, _cef_download_item_t* download_item, const cef_string_t* suggested_name, _cef_before_download_callback_t* callback)*
        private static unsafe void OnBeforeDownloadImpl(cef_download_handler_t *self, cef_browser_t *browser, cef_download_item_t *download_item, cef_string_t *suggested_name, cef_before_download_callback_t *callback)
        {
            var instance = GetInstance((IntPtr)self) as CefDownloadHandler;

            if (instance == null || ((ICefDownloadHandlerPrivate)instance).AvoidOnBeforeDownload())
            {
                ReleaseIfNonNull((cef_base_ref_counted_t *)browser);
                ReleaseIfNonNull((cef_base_ref_counted_t *)download_item);
                ReleaseIfNonNull((cef_base_ref_counted_t *)callback);
                return;
            }
            instance.OnBeforeDownload(CefBrowser.Wrap(CefBrowser.Create, browser), CefDownloadItem.Wrap(CefDownloadItem.Create, download_item), CefString.Read(suggested_name), CefBeforeDownloadCallback.Wrap(CefBeforeDownloadCallback.Create, callback));
        }
Beispiel #27
0
 static public CefDownloadItem FromOutVal(cef_download_item_t *ptr) => FromOutVal((IntPtr)ptr, (p2) => new CefDownloadItem(p2, false));
 private void on_before_download(cef_download_handler_t *self, cef_browser_t *browser, cef_download_item_t *download_item, cef_string_t *suggested_name, cef_before_download_callback_t *callback)
 {
     CheckSelf(self);
     throw new NotImplementedException(); // TODO: CefDownloadHandler.OnBeforeDownload
 }
Beispiel #29
0
 static public CefDownloadItem FromInArg(cef_download_item_t *ptr) => FromInArg((IntPtr)ptr, (p2) => new CefDownloadItem(p2));
 public unsafe extern void OnBeforeDownload(cef_browser_t *browser, cef_download_item_t *download_item, [Immutable] cef_string_t *suggested_name, cef_before_download_callback_t *callback);