GtkSharp/atk/Misc.custom
Mike Kestner 504323bf30 2008-04-17 Mike Kestner <mkestner@novell.com>
* atk/glue/misc.c: glue for vms and singleton setup.
	* atk/Misc.custom: add OnThreadsEnter, OnThreadsLeave, and
	SetSingletonInstance members for Bridge implementors.
	[More of #365437]

svn path=/trunk/gtk-sharp/; revision=101092
2008-04-18 01:10:08 +00:00

89 lines
2.8 KiB
Text

// Misc.custom - Atk Misc class customizations
//
// Author: Mike Kestner <mkestner@novell.com>
//
// Copyright (c) 2008 Novell, Inc.
//
// This code is inserted after the automatically generated code.
//
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of version 2 of the Lesser GNU General
// Public License as published by the Free Software Foundation.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this program; if not, write to the
// Free Software Foundation, Inc., 59 Temple Place - Suite 330,
// Boston, MA 02111-1307, USA.
[DllImport("atksharpglue-2")]
static extern int atksharp_misc_override_threads_enter (IntPtr type, ThreadDelegate cb);
[GLib.CDeclCallback]
delegate void ThreadDelegate (IntPtr raw);
static ThreadDelegate ThreadsEnterCallback;
static void ThreadsEnter_cb (IntPtr raw)
{
try {
Atk.Misc __obj = GLib.Object.GetObject (raw, false) as Atk.Misc;
__obj.OnThreadsEnter ();
} catch (Exception e) {
GLib.ExceptionManager.RaiseUnhandledException (e, false);
}
}
static void OverrideThreadsEnter (GLib.GType gtype)
{
if (ThreadsEnterCallback == null)
ThreadsEnterCallback = new ThreadDelegate (ThreadsEnter_cb);
atksharp_misc_override_threads_enter (gtype.Val, ThreadsEnterCallback);
}
[GLib.DefaultSignalHandler (Type=typeof (Atk.Misc), ConnectionMethod="OverrideThreadsEnter")]
protected virtual void OnThreadsEnter ()
{
}
[DllImport("atksharpglue-2")]
static extern int atksharp_misc_override_threads_leave (IntPtr type, ThreadDelegate cb);
static ThreadDelegate ThreadsLeaveCallback;
static void ThreadsLeave_cb (IntPtr raw)
{
try {
Atk.Misc __obj = GLib.Object.GetObject (raw, false) as Atk.Misc;
__obj.OnThreadsLeave ();
} catch (Exception e) {
GLib.ExceptionManager.RaiseUnhandledException (e, false);
}
}
static void OverrideThreadsLeave (GLib.GType gtype)
{
if (ThreadsLeaveCallback == null)
ThreadsLeaveCallback = new ThreadDelegate (ThreadsLeave_cb);
atksharp_misc_override_threads_leave (gtype.Val, ThreadsLeaveCallback);
}
[GLib.DefaultSignalHandler (Type=typeof (Atk.Misc), ConnectionMethod="OverrideThreadsLeave")]
protected virtual void OnThreadsLeave ()
{
}
[DllImport("atksharpglue-2")]
static extern void atksharp_misc_set_singleton_instance (IntPtr misc);
public static void SetSingletonInstance (Misc misc)
{
atksharp_misc_set_singleton_instance (misc.Handle);
}