f48d68157369e885228136abfe2155dd9bd6383a
[python-purple] / eventloop.pxd
1 #
2 #  Copyright (c) 2008 INdT - Instituto Nokia de Tecnologia
3 #
4 #  This file is part of python-purple.
5 #
6 #  python-purple is free software: you can redistribute it and/or modify
7 #  it under the terms of the GNU General Public License as published by
8 #  the Free Software Foundation, either version 3 of the License, or
9 #  (at your option) any later version.
10 #
11 #  python-purple is distributed in the hope that it will be useful,
12 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
13 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 #  GNU General Public License for more details.
15 #
16 #  You should have received a copy of the GNU General Public License
17 #  along with this program.  If not, see <http://www.gnu.org/licenses/>.
18 #
19
20 cimport glib
21
22 cdef extern from "libpurple/eventloop.h":
23     ctypedef enum PurpleInputCondition:
24         PURPLE_INPUT_READ
25         PURPLE_INPUT_WRITE
26
27     ctypedef void (*PurpleInputFunction) (glib.gpointer, glib.gint, PurpleInputCondition)
28
29     ctypedef struct PurpleEventLoopUiOps:
30         glib.guint (*timeout_add) (glib.guint interval, glib.GSourceFunc function, glib.gpointer data)
31         glib.gboolean (*timeout_remove) (glib.guint handle)
32         glib.guint (*input_add) (int fd, PurpleInputCondition cond, PurpleInputFunction func, glib.gpointer user_data)
33         glib.gboolean (*input_remove) (glib.guint handle)
34         int (*input_get_error) (int fd, int *error)
35         glib.guint (*timeout_add_seconds) (glib.guint interval, glib.GSourceFunc function, glib.gpointer data)
36
37     void c_purple_eventloop_set_ui_ops "purple_eventloop_set_ui_ops" (PurpleEventLoopUiOps *ops)