File: Gtk_ActionableAdapter.cs

package info (click to toggle)
gnome-subtitles 1.8-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 103,144 kB
  • sloc: xml: 406,395; cs: 364,495; ansic: 3,104; perl: 1,477; sh: 769; python: 545; javascript: 500; makefile: 49
file content (229 lines) | stat: -rw-r--r-- 7,369 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
// This file was generated by the Gtk# code generator.
// Any changes made will be lost if regenerated.

namespace Gtk {

	using System;
	using System.Runtime.InteropServices;

#region Autogenerated code
	public partial class ActionableAdapter : GLib.GInterfaceAdapter, Gtk.IActionable {

		[StructLayout (LayoutKind.Sequential)]
		struct GtkActionableInterface {
			public GetActionNameNativeDelegate GetActionName;
			public SetActionNameNativeDelegate SetActionName;
			public GetActionTargetValueNativeDelegate GetActionTargetValue;
			public SetActionTargetValueNativeDelegate SetActionTargetValue;
		}

		static GtkActionableInterface iface;

		static ActionableAdapter ()
		{
			GLib.GType.Register (_gtype, typeof (ActionableAdapter));
			iface.GetActionName = new GetActionNameNativeDelegate (GetActionName_cb);
			iface.SetActionName = new SetActionNameNativeDelegate (SetActionName_cb);
			iface.GetActionTargetValue = new GetActionTargetValueNativeDelegate (GetActionTargetValue_cb);
			iface.SetActionTargetValue = new SetActionTargetValueNativeDelegate (SetActionTargetValue_cb);
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr GetActionNameNativeDelegate (IntPtr inst);

		static IntPtr GetActionName_cb (IntPtr inst)
		{
			try {
				IActionableImplementor __obj = GLib.Object.GetObject (inst, false) as IActionableImplementor;
				string __result;
				__result = __obj.ActionName;
				return GLib.Marshaller.StringToPtrGStrdup(__result);
			} catch (Exception e) {
				GLib.ExceptionManager.RaiseUnhandledException (e, true);
				// NOTREACHED: above call does not return.
				throw e;
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate void SetActionNameNativeDelegate (IntPtr inst, IntPtr action_name);

		static void SetActionName_cb (IntPtr inst, IntPtr action_name)
		{
			try {
				IActionableImplementor __obj = GLib.Object.GetObject (inst, false) as IActionableImplementor;
				__obj.ActionName = GLib.Marshaller.Utf8PtrToString (action_name);
			} catch (Exception e) {
				GLib.ExceptionManager.RaiseUnhandledException (e, false);
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate IntPtr GetActionTargetValueNativeDelegate (IntPtr inst);

		static IntPtr GetActionTargetValue_cb (IntPtr inst)
		{
			try {
				IActionableImplementor __obj = GLib.Object.GetObject (inst, false) as IActionableImplementor;
				GLib.Variant __result;
				__result = __obj.ActionTargetValue;
				return __result == null ? IntPtr.Zero : __result.Handle;
			} catch (Exception e) {
				GLib.ExceptionManager.RaiseUnhandledException (e, true);
				// NOTREACHED: above call does not return.
				throw e;
			}
		}

		[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
		delegate void SetActionTargetValueNativeDelegate (IntPtr inst, IntPtr target_value);

		static void SetActionTargetValue_cb (IntPtr inst, IntPtr target_value)
		{
			try {
				IActionableImplementor __obj = GLib.Object.GetObject (inst, false) as IActionableImplementor;
				__obj.ActionTargetValue = new GLib.Variant(target_value);
			} catch (Exception e) {
				GLib.ExceptionManager.RaiseUnhandledException (e, false);
			}
		}

		static int class_offset = 2 * IntPtr.Size;

		static void Initialize (IntPtr ptr, IntPtr data)
		{
			IntPtr ifaceptr = new IntPtr (ptr.ToInt64 () + class_offset);
			GtkActionableInterface native_iface = (GtkActionableInterface) Marshal.PtrToStructure (ifaceptr, typeof (GtkActionableInterface));
			native_iface.GetActionName = iface.GetActionName;
			native_iface.SetActionName = iface.SetActionName;
			native_iface.GetActionTargetValue = iface.GetActionTargetValue;
			native_iface.SetActionTargetValue = iface.SetActionTargetValue;
			Marshal.StructureToPtr (native_iface, ifaceptr, false);
		}

		GLib.Object implementor;

		public ActionableAdapter ()
		{
			InitHandler = new GLib.GInterfaceInitHandler (Initialize);
		}

		public ActionableAdapter (IActionableImplementor implementor)
		{
			if (implementor == null)
				throw new ArgumentNullException ("implementor");
			else if (!(implementor is GLib.Object))
				throw new ArgumentException ("implementor must be a subclass of GLib.Object");
			this.implementor = implementor as GLib.Object;
		}

		public ActionableAdapter (IntPtr handle)
		{
			if (!_gtype.IsInstance (handle))
				throw new ArgumentException ("The gobject doesn't implement the GInterface of this adapter", "handle");
			implementor = GLib.Object.GetObject (handle);
		}

		[DllImport("gtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
		static extern IntPtr gtk_actionable_get_type();

		private static GLib.GType _gtype = new GLib.GType (gtk_actionable_get_type ());

		public static GLib.GType GType {
			get {
				return _gtype;
			}
		}

		public override GLib.GType GInterfaceGType {
			get {
				return _gtype;
			}
		}

		public override IntPtr Handle {
			get {
				return implementor.Handle;
			}
		}

		public IntPtr OwnedHandle {
			get {
				return implementor.OwnedHandle;
			}
		}

		public static IActionable GetObject (IntPtr handle, bool owned)
		{
			GLib.Object obj = GLib.Object.GetObject (handle, owned);
			return GetObject (obj);
		}

		public static IActionable GetObject (GLib.Object obj)
		{
			if (obj == null)
				return null;
			else if (obj is IActionableImplementor)
				return new ActionableAdapter (obj as IActionableImplementor);
			else if (obj as IActionable == null)
				return new ActionableAdapter (obj.Handle);
			else
				return obj as IActionable;
		}

		public IActionableImplementor Implementor {
			get {
				return implementor as IActionableImplementor;
			}
		}

		[DllImport("gtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
		static extern IntPtr gtk_actionable_get_action_name(IntPtr raw);

		[DllImport("gtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
		static extern void gtk_actionable_set_action_name(IntPtr raw, IntPtr action_name);

		public string ActionName { 
			get {
				IntPtr raw_ret = gtk_actionable_get_action_name(Handle);
				string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
				return ret;
			}
			set {
				IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
				gtk_actionable_set_action_name(Handle, native_value);
				GLib.Marshaller.Free (native_value);
			}
		}

		[DllImport("gtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
		static extern IntPtr gtk_actionable_get_action_target_value(IntPtr raw);

		[DllImport("gtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
		static extern void gtk_actionable_set_action_target_value(IntPtr raw, IntPtr target_value);

		public GLib.Variant ActionTargetValue { 
			get {
				IntPtr raw_ret = gtk_actionable_get_action_target_value(Handle);
				GLib.Variant ret = new GLib.Variant(raw_ret);
				return ret;
			}
			set {
				gtk_actionable_set_action_target_value(Handle, value == null ? IntPtr.Zero : value.Handle);
			}
		}

		[DllImport("gtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
		static extern void gtk_actionable_set_detailed_action_name(IntPtr raw, IntPtr detailed_action_name);

		public string DetailedActionName { 
			set {
				IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
				gtk_actionable_set_detailed_action_name(Handle, native_value);
				GLib.Marshaller.Free (native_value);
			}
		}

#endregion
	}
}