1 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ 2 /* dbus-pending-call.h Object representing a call in progress. 3 * 4 * Copyright (C) 2002, 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 #if !defined (DBUS_INSIDE_DBUS_H) && !defined (DBUS_COMPILATION) 24 #error "Only <dbus/dbus.h> can be included directly, this file may disappear or change contents." 25 #endif 26 27 #ifndef DBUS_PENDING_CALL_H 28 #define DBUS_PENDING_CALL_H 29 30 #include <dbus/dbus-macros.h> 31 #include <dbus/dbus-types.h> 32 #include <dbus/dbus-connection.h> 33 34 DBUS_BEGIN_DECLS 35 36 /** 37 * @addtogroup DBusPendingCall 38 * @{ 39 */ 40 41 #define DBUS_TIMEOUT_INFINITE ((int) 0x7fffffff) 42 #define DBUS_TIMEOUT_USE_DEFAULT (-1) 43 44 DBUS_EXPORT 45 DBusPendingCall* dbus_pending_call_ref (DBusPendingCall *pending); 46 DBUS_EXPORT 47 void dbus_pending_call_unref (DBusPendingCall *pending); 48 DBUS_EXPORT 49 dbus_bool_t dbus_pending_call_set_notify (DBusPendingCall *pending, 50 DBusPendingCallNotifyFunction function, 51 void *user_data, 52 DBusFreeFunction free_user_data); 53 DBUS_EXPORT 54 void dbus_pending_call_cancel (DBusPendingCall *pending); 55 DBUS_EXPORT 56 dbus_bool_t dbus_pending_call_get_completed (DBusPendingCall *pending); 57 DBUS_EXPORT 58 DBusMessage* dbus_pending_call_steal_reply (DBusPendingCall *pending); 59 DBUS_EXPORT 60 void dbus_pending_call_block (DBusPendingCall *pending); 61 62 DBUS_EXPORT 63 dbus_bool_t dbus_pending_call_allocate_data_slot (dbus_int32_t *slot_p); 64 DBUS_EXPORT 65 void dbus_pending_call_free_data_slot (dbus_int32_t *slot_p); 66 DBUS_EXPORT 67 dbus_bool_t dbus_pending_call_set_data (DBusPendingCall *pending, 68 dbus_int32_t slot, 69 void *data, 70 DBusFreeFunction free_data_func); 71 DBUS_EXPORT 72 void* dbus_pending_call_get_data (DBusPendingCall *pending, 73 dbus_int32_t slot); 74 75 /** @} */ 76 77 DBUS_END_DECLS 78 79 #endif /* DBUS_PENDING_CALL_H */ 80