private void CheckSelf(cef_read_handler_t *self)
 {
     if (_self != self)
     {
         throw ExceptionBuilder.InvalidSelfReference();
     }
 }
Example #2
0
 protected virtual void Dispose(bool disposing)
 {
     if (_self != null)
     {
         cef_read_handler_t.Free(_self);
         _self = null;
     }
 }
 protected virtual void Dispose(bool disposing)
 {
     if (_self != null)
     {
         cef_read_handler_t.Free(_self);
         _self = null;
     }
 }
Example #4
0
        public CefReadHandler()
        {
            cef_read_handler_t *self = this.NativeInstance;

            self->read      = (void *)Marshal.GetFunctionPointerForDelegate(fnRead);
            self->seek      = (void *)Marshal.GetFunctionPointerForDelegate(fnSeek);
            self->tell      = (void *)Marshal.GetFunctionPointerForDelegate(fnTell);
            self->eof       = (void *)Marshal.GetFunctionPointerForDelegate(fnEof);
            self->may_block = (void *)Marshal.GetFunctionPointerForDelegate(fnMayBlock);
        }
Example #5
0
        private UIntPtr read(cef_read_handler_t *self, void *ptr, UIntPtr size, UIntPtr n)
        {
            CheckSelf(self);

            var length = (long)size * (long)n;

            using (var stream = new UnmanagedMemoryStream((byte *)ptr, length, length, FileAccess.Write))
            {
                return((UIntPtr)Read(stream, length));
            }
        }
 private void add_ref(cef_read_handler_t *self)
 {
     lock (SyncRoot)
     {
         var result = ++_refct;
         if (result == 1)
         {
             lock (_roots) { _roots.Add((IntPtr)_self, this); }
         }
     }
 }
Example #7
0
        /// <summary>
        /// Read raw binary data.
        /// </summary>
        private int read(cef_read_handler_t *self, void *ptr, int size, int n)
        {
            ThrowIfObjectDisposed();

            long length = size * n;

            using (var m_stream = new UnmanagedMemoryStream((byte *)ptr, length, length, FileAccess.Write))
            {
                return(this.Read(m_stream, size, n));
            }
        }
 private int release(cef_read_handler_t *self)
 {
     lock (SyncRoot)
     {
         var result = --_refct;
         if (result == 0)
         {
             lock (_roots) { _roots.Remove((IntPtr)_self); }
         }
         return(result);
     }
 }
Example #9
0
        public CefReadHandler()
        {
            cef_read_handler_t *self = this.NativeInstance;

                        #if NET_LESS_5_0
            self->read      = (void *)Marshal.GetFunctionPointerForDelegate(fnRead);
            self->seek      = (void *)Marshal.GetFunctionPointerForDelegate(fnSeek);
            self->tell      = (void *)Marshal.GetFunctionPointerForDelegate(fnTell);
            self->eof       = (void *)Marshal.GetFunctionPointerForDelegate(fnEof);
            self->may_block = (void *)Marshal.GetFunctionPointerForDelegate(fnMayBlock);
                        #else
            self->read      = (delegate * unmanaged[Stdcall] < cef_read_handler_t *, void *, UIntPtr, UIntPtr, UIntPtr >) & ReadImpl;
            self->seek      = (delegate * unmanaged[Stdcall] < cef_read_handler_t *, long, int, int >) & SeekImpl;
            self->tell      = (delegate * unmanaged[Stdcall] < cef_read_handler_t *, long >) & TellImpl;
            self->eof       = (delegate * unmanaged[Stdcall] < cef_read_handler_t *, int >) & EofImpl;
            self->may_block = (delegate * unmanaged[Stdcall] < cef_read_handler_t *, int >) & MayBlockImpl;
                        #endif
        }
        protected CefReadHandler()
        {
            _self = cef_read_handler_t.Alloc();

            _ds0 = new cef_read_handler_t.add_ref_delegate(add_ref);
            _self->_base._add_ref = Marshal.GetFunctionPointerForDelegate(_ds0);
            _ds1 = new cef_read_handler_t.release_delegate(release);
            _self->_base._release = Marshal.GetFunctionPointerForDelegate(_ds1);
            _ds2 = new cef_read_handler_t.get_refct_delegate(get_refct);
            _self->_base._get_refct = Marshal.GetFunctionPointerForDelegate(_ds2);
            _ds3         = new cef_read_handler_t.read_delegate(read);
            _self->_read = Marshal.GetFunctionPointerForDelegate(_ds3);
            _ds4         = new cef_read_handler_t.seek_delegate(seek);
            _self->_seek = Marshal.GetFunctionPointerForDelegate(_ds4);
            _ds5         = new cef_read_handler_t.tell_delegate(tell);
            _self->_tell = Marshal.GetFunctionPointerForDelegate(_ds5);
            _ds6         = new cef_read_handler_t.eof_delegate(eof);
            _self->_eof  = Marshal.GetFunctionPointerForDelegate(_ds6);
        }
 protected CefReadHandler()
 {
     _self = cef_read_handler_t.Alloc();
 
     _ds0 = new cef_read_handler_t.add_ref_delegate(add_ref);
     _self->_base._add_ref = Marshal.GetFunctionPointerForDelegate(_ds0);
     _ds1 = new cef_read_handler_t.release_delegate(release);
     _self->_base._release = Marshal.GetFunctionPointerForDelegate(_ds1);
     _ds2 = new cef_read_handler_t.get_refct_delegate(get_refct);
     _self->_base._get_refct = Marshal.GetFunctionPointerForDelegate(_ds2);
     _ds3 = new cef_read_handler_t.read_delegate(read);
     _self->_read = Marshal.GetFunctionPointerForDelegate(_ds3);
     _ds4 = new cef_read_handler_t.seek_delegate(seek);
     _self->_seek = Marshal.GetFunctionPointerForDelegate(_ds4);
     _ds5 = new cef_read_handler_t.tell_delegate(tell);
     _self->_tell = Marshal.GetFunctionPointerForDelegate(_ds5);
     _ds6 = new cef_read_handler_t.eof_delegate(eof);
     _self->_eof = Marshal.GetFunctionPointerForDelegate(_ds6);
 }
        protected CefReadHandler()
        {
            _self = cef_read_handler_t.Alloc();

            _ds0 = new cef_read_handler_t.add_ref_delegate(add_ref);
            _self->_base._add_ref = Marshal.GetFunctionPointerForDelegate(_ds0);
            _ds1 = new cef_read_handler_t.release_delegate(release);
            _self->_base._release = Marshal.GetFunctionPointerForDelegate(_ds1);
            _ds2 = new cef_read_handler_t.has_one_ref_delegate(has_one_ref);
            _self->_base._has_one_ref = Marshal.GetFunctionPointerForDelegate(_ds2);
            _ds3 = new cef_read_handler_t.has_at_least_one_ref_delegate(has_at_least_one_ref);
            _self->_base._has_at_least_one_ref = Marshal.GetFunctionPointerForDelegate(_ds3);
            _ds4              = new cef_read_handler_t.read_delegate(read);
            _self->_read      = Marshal.GetFunctionPointerForDelegate(_ds4);
            _ds5              = new cef_read_handler_t.seek_delegate(seek);
            _self->_seek      = Marshal.GetFunctionPointerForDelegate(_ds5);
            _ds6              = new cef_read_handler_t.tell_delegate(tell);
            _self->_tell      = Marshal.GetFunctionPointerForDelegate(_ds6);
            _ds7              = new cef_read_handler_t.eof_delegate(eof);
            _self->_eof       = Marshal.GetFunctionPointerForDelegate(_ds7);
            _ds8              = new cef_read_handler_t.may_block_delegate(may_block);
            _self->_may_block = Marshal.GetFunctionPointerForDelegate(_ds8);
        }
Example #13
0
 internal static void Free(cef_read_handler_t *ptr)
 {
     Marshal.FreeHGlobal((IntPtr)ptr);
 }
 private int get_refct(cef_read_handler_t *self)
 {
     return(_refct);
 }
Example #15
0
        private int may_block(cef_read_handler_t *self)
        {
            CheckSelf(self);

            return(MayBlock() ? 1 : 0);
        }
Example #16
0
        /// <summary>
        /// Seek to the specified offset position. |whence| may be any one of
        /// SEEK_CUR, SEEK_END or SEEK_SET. Return zero on success and non-zero on
        /// failure.
        /// </summary>
        // protected abstract int Seek(long offset, int whence);

        private long tell(cef_read_handler_t *self)
        {
            CheckSelf(self);
            throw new NotImplementedException(); // TODO: CefReadHandler.Tell
        }
Example #17
0
 public CefReadHandler(cef_read_handler_t *instance)
     : base((cef_base_ref_counted_t *)instance)
 {
 }
Example #18
0
 public static extern cef_stream_reader_t *create_for_handler(cef_read_handler_t *handler);
Example #19
0
        /// <summary>
        /// Return the current offset position.
        /// </summary>
        // protected abstract long Tell();

        private int eof(cef_read_handler_t *self)
        {
            CheckSelf(self);
            throw new NotImplementedException(); // TODO: CefReadHandler.Eof
        }
 private int has_at_least_one_ref(cef_read_handler_t *self)
 {
     lock (SyncRoot) { return(_refct != 0 ? 1 : 0); }
 }
Example #21
0
        /// <summary>
        /// Return the current offset position.
        /// </summary>
        private long tell(cef_read_handler_t *self)
        {
            ThrowIfObjectDisposed();

            return(this.Tell());
        }
Example #22
0
        /// <summary>
        /// Read raw binary data.
        /// </summary>
        // protected abstract UIntPtr Read(void* ptr, UIntPtr size, UIntPtr n);

        private int seek(cef_read_handler_t *self, long offset, int whence)
        {
            CheckSelf(self);
            throw new NotImplementedException(); // TODO: CefReadHandler.Seek
        }
Example #23
0
 private UIntPtr read(cef_read_handler_t *self, void *ptr, UIntPtr size, UIntPtr n)
 {
     CheckSelf(self);
     throw new NotImplementedException(); // TODO: CefReadHandler.Read
 }
Example #24
0
        private int seek(cef_read_handler_t *self, long offset, int whence)
        {
            CheckSelf(self);

            return(Seek(offset, (SeekOrigin)whence) ? 0 : -1);
        }
Example #25
0
        /// <summary>
        /// Return non-zero if at end of file.
        /// </summary>
        // protected abstract int Eof();

        private int may_block(cef_read_handler_t *self)
        {
            CheckSelf(self);
            throw new NotImplementedException(); // TODO: CefReadHandler.MayBlock
        }
 private int has_one_ref(cef_read_handler_t *self)
 {
     lock (SyncRoot) { return(_refct == 1 ? 1 : 0); }
 }
Example #27
0
        private long tell(cef_read_handler_t *self)
        {
            CheckSelf(self);

            return(Tell());
        }
Example #28
0
        /// <summary>
        /// Seek to the specified offset position. |whence| may be any one of
        /// SEEK_CUR, SEEK_END or SEEK_SET.
        /// </summary>
        private int seek(cef_read_handler_t *self, long offset, int whence)
        {
            ThrowIfObjectDisposed();

            return(this.Seek(offset, (SeekOrigin)whence) ? 0 : 1);
        }
Example #29
0
        private int eof(cef_read_handler_t *self)
        {
            CheckSelf(self);

            return(Eof() ? 1 : 0);
        }
Example #30
0
        /// <summary>
        /// Return non-zero if at end of file.
        /// </summary>
        private int eof(cef_read_handler_t *self)
        {
            ThrowIfObjectDisposed();

            return(this.Eof() ? 1 : 0);
        }
 /// <summary>
 /// Create a new CefStreamReader object from a custom handler.
 /// </summary>
 public static cef_stream_reader_t *CreateForHandler(cef_read_handler_t *handler)
 {
     throw new NotImplementedException(); // TODO: CefStreamReader.CreateForHandler
 }