Ref the key. This actually is necessary.
[python-gnt.git] / gntbindable.override
blob4217905bb304ad17addf31e2ed23ce1177e05299
1 /**
2  * pygnt- Python bindings for the GNT toolkit.
3  * Copyright (C) 2007 Sadrul Habib Chowdhury <sadrul@pidgin.im>
4  *
5  *   gntbindable.override: Some function wrappers for bindables.
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301
20  * USA
21  */
23 headers
24 #include "common.h"
26 ignore
27 gnt_bindable_register_binding
29 override gnt_bindable_perform_action_named kwargs
30 static PyObject *
31 _wrap_gnt_bindable_perform_action_named(PyGObject *self, PyObject *args, PyObject *kwargs)
33         static char *kwlist[] = { "action", NULL };
34         char *name;
35         char *lookup;
36         const char *action = NULL;
38         if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s:GntBindable.perform_action_named", kwlist, &name))
39                 return NULL;
41         lookup = g_strdup_printf("%s::%s", self->ob_type->tp_name, name);
42         action = g_hash_table_lookup(bindings, lookup);
43         gnt_bindable_perform_action_named(GNT_BINDABLE(self->obj), name, action, NULL);
44         g_free(lookup);
46         Py_INCREF(Py_None);
47         return Py_None;