1 /* -*- mode: C; c-file-style: "gnu" -*- */ 2 /* dbus-timeout.h DBusTimeout internal interfaces 3 * 4 * Copyright (C) 2003 CodeFactory AB 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 21 * 22 */ 23 #ifndef DBUS_TIMEOUT_H 24 #define DBUS_TIMEOUT_H 25 26 #include <dbus/dbus-connection.h> 27 #include <dbus/dbus-internals.h> 28 29 DBUS_BEGIN_DECLS 30 31 /** 32 * @addtogroup DBusTimeoutInternals 33 * @{ 34 */ 35 36 /* Public methods on DBusTimeout are in dbus-connection.h */ 37 38 typedef struct DBusTimeoutList DBusTimeoutList; 39 40 /** function to run when the timeout is handled */ 41 typedef dbus_bool_t (* DBusTimeoutHandler) (void *data); 42 43 DBusTimeout* _dbus_timeout_new (int interval, 44 DBusTimeoutHandler handler, 45 void *data, 46 DBusFreeFunction free_data_function); 47 DBusTimeout* _dbus_timeout_ref (DBusTimeout *timeout); 48 void _dbus_timeout_unref (DBusTimeout *timeout); 49 void _dbus_timeout_set_interval (DBusTimeout *timeout, 50 int interval); 51 void _dbus_timeout_set_enabled (DBusTimeout *timeout, 52 dbus_bool_t enabled); 53 54 DBusTimeoutList *_dbus_timeout_list_new (void); 55 void _dbus_timeout_list_free (DBusTimeoutList *timeout_list); 56 dbus_bool_t _dbus_timeout_list_set_functions (DBusTimeoutList *timeout_list, 57 DBusAddTimeoutFunction add_function, 58 DBusRemoveTimeoutFunction remove_function, 59 DBusTimeoutToggledFunction toggled_function, 60 void *data, 61 DBusFreeFunction free_data_function); 62 dbus_bool_t _dbus_timeout_list_add_timeout (DBusTimeoutList *timeout_list, 63 DBusTimeout *timeout); 64 void _dbus_timeout_list_remove_timeout (DBusTimeoutList *timeout_list, 65 DBusTimeout *timeout); 66 void _dbus_timeout_list_toggle_timeout (DBusTimeoutList *timeout_list, 67 DBusTimeout *timeout, 68 dbus_bool_t enabled); 69 70 71 /** @} */ 72 73 DBUS_END_DECLS 74 75 #endif /* DBUS_TIMEOUT_H */ 76