2
* Copyright (C) 2004 Tamara Roberson <foxxygirltamara@gmail.com>
4
* This program is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU General Public License as
6
* published by the Free Software Foundation; either version 2 of the
7
* License, or (at your option) any later version.
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
* General Public License for more details.
14
* You should have received a copy of the GNU General Public
15
* License along with this program; if not, write to the
16
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17
* Boston, MA 02111-1307, USA.
21
using System.Runtime.InteropServices;
25
public sealed class SignalUtils
28
public delegate void SignalDelegate (IntPtr obj);
29
public delegate void SignalDelegatePtr (IntPtr obj, IntPtr arg);
30
public delegate void SignalDelegateInt (IntPtr obj, int arg);
31
public delegate void SignalDelegateStr (IntPtr obj, string arg);
35
// Methods :: Public :: SignalConnect
36
// Methods :: Public :: SignalConnect :: Plain
37
[DllImport ("libgobject-2.0-0.dll")]
38
private static extern uint g_signal_connect_data (IntPtr obj, string name,
39
SignalDelegate cb, IntPtr data,
42
public static uint SignalConnect (IntPtr obj, string name, SignalDelegate cb)
44
return SignalConnect (obj, name, cb, IntPtr.Zero, IntPtr.Zero, 0);
47
public static uint SignalConnect (IntPtr obj, string name, SignalDelegate cb,
48
IntPtr data, IntPtr p, int flags)
50
return g_signal_connect_data (obj, name, cb, data, p, flags);
53
// Methods :: Public :: SignalConnect :: Ptr
54
[DllImport ("libgobject-2.0-0.dll")]
55
private static extern uint g_signal_connect_data (IntPtr obj, string name,
56
SignalDelegatePtr cb, IntPtr data,
59
public static uint SignalConnect (IntPtr obj, string name, SignalDelegatePtr cb)
61
return SignalConnect (obj, name, cb, IntPtr.Zero, IntPtr.Zero, 0);
64
public static uint SignalConnect (IntPtr obj, string name, SignalDelegatePtr cb,
65
IntPtr data, IntPtr p, int flags)
67
return g_signal_connect_data (obj, name, cb, data, p, flags);
70
// Methods :: Public :: SignalConnect :: Int
71
[DllImport ("libgobject-2.0-0.dll")]
72
private static extern uint g_signal_connect_data (IntPtr obj, string name,
73
SignalDelegateInt cb, IntPtr data,
76
public static uint SignalConnect (IntPtr obj, string name, SignalDelegateInt cb)
78
return SignalConnect (obj, name, cb, IntPtr.Zero, IntPtr.Zero, 0);
81
public static uint SignalConnect (IntPtr obj, string name, SignalDelegateInt cb,
82
IntPtr data, IntPtr p, int flags)
84
return g_signal_connect_data (obj, name, cb, data, p, flags);
87
// Methods :: Public :: SignalConnect :: Str
88
[DllImport ("libgobject-2.0-0.dll")]
89
private static extern uint g_signal_connect_data (IntPtr obj, string name,
90
SignalDelegateStr cb, IntPtr data,
93
public static uint SignalConnect (IntPtr obj, string name, SignalDelegateStr cb)
95
return SignalConnect (obj, name, cb, IntPtr.Zero, IntPtr.Zero, 0);
98
public static uint SignalConnect (IntPtr obj, string name, SignalDelegateStr cb,
99
IntPtr data, IntPtr p, int flags)
101
return g_signal_connect_data (obj, name, cb, data, p, flags);