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 34DBUS_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 44DBUS_EXPORT 45DBusPendingCall* dbus_pending_call_ref (DBusPendingCall *pending); 46DBUS_EXPORT 47void dbus_pending_call_unref (DBusPendingCall *pending); 48DBUS_EXPORT 49dbus_bool_t dbus_pending_call_set_notify (DBusPendingCall *pending, 50 DBusPendingCallNotifyFunction function, 51 void *user_data, 52 DBusFreeFunction free_user_data); 53DBUS_EXPORT 54void dbus_pending_call_cancel (DBusPendingCall *pending); 55DBUS_EXPORT 56dbus_bool_t dbus_pending_call_get_completed (DBusPendingCall *pending); 57DBUS_EXPORT 58DBusMessage* dbus_pending_call_steal_reply (DBusPendingCall *pending); 59DBUS_EXPORT 60void dbus_pending_call_block (DBusPendingCall *pending); 61 62DBUS_EXPORT 63dbus_bool_t dbus_pending_call_allocate_data_slot (dbus_int32_t *slot_p); 64DBUS_EXPORT 65void dbus_pending_call_free_data_slot (dbus_int32_t *slot_p); 66DBUS_EXPORT 67dbus_bool_t dbus_pending_call_set_data (DBusPendingCall *pending, 68 dbus_int32_t slot, 69 void *data, 70 DBusFreeFunction free_data_func); 71DBUS_EXPORT 72void* dbus_pending_call_get_data (DBusPendingCall *pending, 73 dbus_int32_t slot); 74 75/** @} */ 76 77DBUS_END_DECLS 78 79#endif /* DBUS_PENDING_CALL_H */ 80