internal static cef_web_plugin_info_visitor_t* Alloc() { var ptr = (cef_web_plugin_info_visitor_t*)Marshal.AllocHGlobal(_sizeof); *ptr = new cef_web_plugin_info_visitor_t(); ptr->_base._size = (UIntPtr)_sizeof; return ptr; }
internal static cef_web_plugin_info_visitor_t *Alloc() { var ptr = (cef_web_plugin_info_visitor_t *)Marshal.AllocHGlobal(_sizeof); *ptr = new cef_web_plugin_info_visitor_t(); ptr->_base._size = (UIntPtr)_sizeof; return(ptr); }
private int visit(cef_web_plugin_info_visitor_t* self, cef_web_plugin_info_t* info, int count, int total) { CheckSelf(self); var m_info = CefWebPluginInfo.FromNative(info); var result = Visit(m_info, count, total); return result ? 1 : 0; }
private void add_ref(cef_web_plugin_info_visitor_t* self) { lock (SyncRoot) { var result = ++_refct; if (result == 1) { lock (_roots) { _roots.Add((IntPtr)_self, this); } } } }
private int release(cef_web_plugin_info_visitor_t* self) { lock (SyncRoot) { var result = --_refct; if (result == 0) { lock (_roots) { _roots.Remove((IntPtr)_self); } return 1; } return 0; } }
public static extern void visit_web_plugin_info(cef_web_plugin_info_visitor_t* visitor);
private void CheckSelf(cef_web_plugin_info_visitor_t* self) { if (_self != self) throw ExceptionBuilder.InvalidSelfReference(); }
private int has_one_ref(cef_web_plugin_info_visitor_t* self) { lock (SyncRoot) { return _refct == 1 ? 1 : 0; } }
internal static void Free(cef_web_plugin_info_visitor_t* ptr) { Marshal.FreeHGlobal((IntPtr)ptr); }
private int get_refct(cef_web_plugin_info_visitor_t* self) { return _refct; }