Beispiel #1
0
 private void CheckSelf(cef_trace_client_t *self)
 {
     if (_self != self)
     {
         throw ExceptionBuilder.InvalidSelfReference();
     }
 }
 protected virtual void Dispose(bool disposing)
 {
     if (_self != null)
     {
         cef_trace_client_t.Free(_self);
         _self = null;
     }
 }
Beispiel #3
0
 protected virtual void Dispose(bool disposing)
 {
     if (_self != null)
     {
         cef_trace_client_t.Free(_self);
         _self = null;
     }
 }
        private void on_trace_data_collected(cef_trace_client_t *self, byte *fragment, UIntPtr fragment_size)
        {
            CheckSelf(self);

            using (var stream = new UnmanagedMemoryStream(fragment, (long)fragment_size))
            {
                OnTraceDataCollected(stream);
            }
        }
Beispiel #5
0
 private int release(cef_trace_client_t *self)
 {
     lock (SyncRoot)
     {
         var result = --_refct;
         if (result == 0)
         {
             lock (_roots) { _roots.Remove((IntPtr)_self); }
         }
         return(result);
     }
 }
Beispiel #6
0
 private int add_ref(cef_trace_client_t *self)
 {
     lock (SyncRoot)
     {
         var result = ++_refct;
         if (result == 1)
         {
             lock (_roots) { _roots.Add((IntPtr)_self, this); }
         }
         return(result);
     }
 }
 protected CefTraceClient()
 {
     _self = cef_trace_client_t.Alloc();
 
     _ds0 = new cef_trace_client_t.add_ref_delegate(add_ref);
     _self->_base._add_ref = Marshal.GetFunctionPointerForDelegate(_ds0);
     _ds1 = new cef_trace_client_t.release_delegate(release);
     _self->_base._release = Marshal.GetFunctionPointerForDelegate(_ds1);
     _ds2 = new cef_trace_client_t.get_refct_delegate(get_refct);
     _self->_base._get_refct = Marshal.GetFunctionPointerForDelegate(_ds2);
     _ds3 = new cef_trace_client_t.on_trace_data_collected_delegate(on_trace_data_collected);
     _self->_on_trace_data_collected = Marshal.GetFunctionPointerForDelegate(_ds3);
     _ds4 = new cef_trace_client_t.on_trace_buffer_percent_full_reply_delegate(on_trace_buffer_percent_full_reply);
     _self->_on_trace_buffer_percent_full_reply = Marshal.GetFunctionPointerForDelegate(_ds4);
     _ds5 = new cef_trace_client_t.on_end_tracing_complete_delegate(on_end_tracing_complete);
     _self->_on_end_tracing_complete = Marshal.GetFunctionPointerForDelegate(_ds5);
 }
Beispiel #8
0
        protected CefTraceClient()
        {
            _self = cef_trace_client_t.Alloc();

            _ds0 = new cef_trace_client_t.add_ref_delegate(add_ref);
            _self->_base._add_ref = Marshal.GetFunctionPointerForDelegate(_ds0);
            _ds1 = new cef_trace_client_t.release_delegate(release);
            _self->_base._release = Marshal.GetFunctionPointerForDelegate(_ds1);
            _ds2 = new cef_trace_client_t.get_refct_delegate(get_refct);
            _self->_base._get_refct = Marshal.GetFunctionPointerForDelegate(_ds2);
            _ds3 = new cef_trace_client_t.on_trace_data_collected_delegate(on_trace_data_collected);
            _self->_on_trace_data_collected = Marshal.GetFunctionPointerForDelegate(_ds3);
            _ds4 = new cef_trace_client_t.on_trace_buffer_percent_full_reply_delegate(on_trace_buffer_percent_full_reply);
            _self->_on_trace_buffer_percent_full_reply = Marshal.GetFunctionPointerForDelegate(_ds4);
            _ds5 = new cef_trace_client_t.on_end_tracing_complete_delegate(on_end_tracing_complete);
            _self->_on_end_tracing_complete = Marshal.GetFunctionPointerForDelegate(_ds5);
        }
Beispiel #9
0
 public static extern int begin_tracing(cef_trace_client_t *client, cef_string_t *categories);
Beispiel #10
0
 private int get_refct(cef_trace_client_t *self)
 {
     return(_refct);
 }
Beispiel #11
0
 private int has_one_ref(cef_trace_client_t *self)
 {
     return(_HasOneRef);
 }
        private void on_end_tracing_complete(cef_trace_client_t *self)
        {
            CheckSelf(self);

            OnEndTracingComplete();
        }
        private void on_trace_buffer_percent_full_reply(cef_trace_client_t *self, float percent_full)
        {
            CheckSelf(self);

            OnTraceBufferPercentFullReply(percent_full);
        }
Beispiel #14
0
 internal static void Free(cef_trace_client_t *ptr)
 {
     Marshal.FreeHGlobal((IntPtr)ptr);
 }