예제 #1
0
 public SignalClosure(IntPtr obj, string signal_name, Delegate custom_marshaler, Signal signal)
 {
     gch = GCHandle.Alloc (signal);
     raw_closure = g_cclosure_new (custom_marshaler, (IntPtr) gch, Notify);
     closures [raw_closure] = this;
     handle = obj;
     name = signal_name;
     this.custom_marshaler = custom_marshaler;
 }
예제 #2
0
파일: Signal.cs 프로젝트: sciyoshi/netgir
 public static Signal Lookup(GObject.Object obj, string name, Type args_type)
 {
     Signal result = obj.ToggleRef.Signals [name] as Signal;
     if (result == null)
         result = new Signal (obj, name, args_type);
     return result;
 }
예제 #3
0
 public void Free()
 {
     Signal[] signals = new Signal [Signals.Count];
     Signals.Values.CopyTo (signals, 0);
     foreach (Signal s in signals)
         s.Free ();
     if (hardened)
         g_object_unref (handle);
     else
         g_object_remove_toggle_ref (handle, ToggleNotifyCallback, (IntPtr) gch);
     reference = null;
     gch.Free ();
 }
예제 #4
0
파일: Signal.cs 프로젝트: sciyoshi/netgir
 public static Signal Lookup(GObject.Object obj, string name, Delegate marshaler)
 {
     Signal result = obj.ToggleRef.Signals [name] as Signal;
     if (result == null)
         result = new Signal (obj, name, marshaler);
     return result;
 }