1 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ 2 /* dbus-mainloop.h Main loop utility 3 * 4 * Copyright (C) 2003 Red Hat, Inc. 5 * 6 * Licensed under the Academic Free License version 2.1 7 * 8 * This program is free software; you can redistribute it and/or modify 9 * it under the terms of the GNU General Public License as published by 10 * the Free Software Foundation; either version 2 of the License, or 11 * (at your option) any later version. 12 * 13 * This program is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more details. 17 * 18 * You should have received a copy of the GNU General Public License 19 * along with this program; if not, write to the Free Software 20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 * 22 */ 23 24 #ifndef DBUS_MAINLOOP_H 25 #define DBUS_MAINLOOP_H 26 27 #ifndef DOXYGEN_SHOULD_SKIP_THIS 28 29 #include <dbus/dbus.h> 30 31 typedef struct DBusLoop DBusLoop; 32 33 typedef dbus_bool_t (* DBusWatchFunction) (DBusWatch *watch, 34 unsigned int condition, 35 void *data); 36 37 DBusLoop* _dbus_loop_new (void); 38 DBusLoop* _dbus_loop_ref (DBusLoop *loop); 39 void _dbus_loop_unref (DBusLoop *loop); 40 dbus_bool_t _dbus_loop_add_watch (DBusLoop *loop, 41 DBusWatch *watch); 42 void _dbus_loop_remove_watch (DBusLoop *loop, 43 DBusWatch *watch); 44 void _dbus_loop_toggle_watch (DBusLoop *loop, 45 DBusWatch *watch); 46 dbus_bool_t _dbus_loop_add_timeout (DBusLoop *loop, 47 DBusTimeout *timeout); 48 void _dbus_loop_remove_timeout (DBusLoop *loop, 49 DBusTimeout *timeout); 50 51 dbus_bool_t _dbus_loop_queue_dispatch (DBusLoop *loop, 52 DBusConnection *connection); 53 54 void _dbus_loop_run (DBusLoop *loop); 55 void _dbus_loop_quit (DBusLoop *loop); 56 dbus_bool_t _dbus_loop_iterate (DBusLoop *loop, 57 dbus_bool_t block); 58 dbus_bool_t _dbus_loop_dispatch (DBusLoop *loop); 59 60 int _dbus_get_oom_wait (void); 61 void _dbus_wait_for_memory (void); 62 63 #endif /* !DOXYGEN_SHOULD_SKIP_THIS */ 64 65 #endif /* DBUS_MAINLOOP_H */ 66 67