internal static cef_read_handler_t* Alloc() { var ptr = (cef_read_handler_t*)Marshal.AllocHGlobal(_sizeof); *ptr = new cef_read_handler_t(); ptr->_base._size = (UIntPtr)_sizeof; return ptr; }
internal static cef_read_handler_t *Alloc() { var ptr = (cef_read_handler_t *)Marshal.AllocHGlobal(_sizeof); *ptr = new cef_read_handler_t(); ptr->_base._size = (UIntPtr)_sizeof; return(ptr); }
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 int release(cef_read_handler_t* self) { lock (SyncRoot) { var result = --_refct; if (result == 0) { lock (_roots) { _roots.Remove((IntPtr)_self); } } return result; } }
private int add_ref(cef_read_handler_t* self) { lock (SyncRoot) { var result = ++_refct; if (result == 1) { lock (_roots) { _roots.Add((IntPtr)_self, this); } } return result; } }
internal static void Free(cef_read_handler_t* ptr) { Marshal.FreeHGlobal((IntPtr)ptr); }
private int eof(cef_read_handler_t* self) { CheckSelf(self); return Eof() ? 1 : 0; }
private long tell(cef_read_handler_t* self) { CheckSelf(self); return Tell(); }
private int seek(cef_read_handler_t* self, long offset, int whence) { CheckSelf(self); return Seek(offset, (SeekOrigin)whence) ? 0 : -1; }
public static extern cef_stream_reader_t* create_for_handler(cef_read_handler_t* handler);
private int get_refct(cef_read_handler_t* self) { return _refct; }
private void CheckSelf(cef_read_handler_t* self) { if (_self != self) throw ExceptionBuilder.InvalidSelfReference(); }