sl@0: /* -*- mode: C; c-file-style: "gnu" -*- */ sl@0: /* dbus.h Convenience header including all other headers sl@0: * sl@0: * Copyright (C) 2002, 2003 Red Hat Inc. sl@0: * sl@0: * Licensed under the Academic Free License version 2.1 sl@0: * sl@0: * This program is free software; you can redistribute it and/or modify sl@0: * it under the terms of the GNU General Public License as published by sl@0: * the Free Software Foundation; either version 2 of the License, or sl@0: * (at your option) any later version. sl@0: * sl@0: * This program is distributed in the hope that it will be useful, sl@0: * but WITHOUT ANY WARRANTY; without even the implied warranty of sl@0: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the sl@0: * GNU General Public License for more details. sl@0: * sl@0: * You should have received a copy of the GNU General Public License sl@0: * along with this program; if not, write to the Free Software sl@0: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA sl@0: * sl@0: */ sl@0: sl@0: #ifndef DBUS_H sl@0: #define DBUS_H sl@0: sl@0: #define DBUS_INSIDE_DBUS_H 1 sl@0: sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: sl@0: #undef DBUS_INSIDE_DBUS_H sl@0: sl@0: /** sl@0: * @defgroup DBus D-Bus low-level public API sl@0: * @brief The low-level public API of the D-Bus library sl@0: * sl@0: * libdbus provides a low-level C API intended primarily for use by sl@0: * bindings to specific object systems and languages. D-Bus is most sl@0: * convenient when used with the GLib bindings, Python bindings, Qt sl@0: * bindings, Mono bindings, and so forth. This low-level API has a sl@0: * lot of complexity useful only for bindings. sl@0: * sl@0: * @{ sl@0: */ sl@0: sl@0: /** @} */ sl@0: sl@0: /** sl@0: * @mainpage sl@0: * sl@0: * This manual documents the low-level D-Bus C API. If you use sl@0: * this low-level API directly, you're signing up for some pain. sl@0: * sl@0: * Caveats aside, you might get started learning the low-level API by reading sl@0: * about @ref DBusConnection and @ref DBusMessage. sl@0: * sl@0: * There are several other places to look for D-Bus information, such sl@0: * as the tutorial and the specification; those can be found at the D-Bus sl@0: * website. If you're interested in a sysadmin or package sl@0: * maintainer's perspective on the dbus-daemon itself and its sl@0: * configuration, be sure to check out the man pages as well. sl@0: * sl@0: * The low-level API documented in this manual deliberately lacks sl@0: * most convenience functions - those are left up to higher-level libraries sl@0: * based on frameworks such as GLib, Qt, Python, Mono, Java, sl@0: * etc. These higher-level libraries (often called "D-Bus bindings") sl@0: * have features such as object systems and main loops that allow a sl@0: * much more convenient API. sl@0: * sl@0: * The low-level API also contains plenty of clutter to support sl@0: * integration with arbitrary object systems, languages, main loops, sl@0: * and so forth. These features add a lot of noise to the API that you sl@0: * probably don't care about unless you're coding a binding. sl@0: * sl@0: * This manual also contains docs for @ref DBusInternals "D-Bus internals", sl@0: * so you can use it to get oriented to the D-Bus source code if you're sl@0: * interested in patching the code. You should also read the sl@0: * file HACKING which comes with the source code if you plan to contribute to sl@0: * D-Bus. sl@0: * sl@0: * As you read the code, you can identify internal D-Bus functions sl@0: * because they start with an underscore ('_') character. Also, any sl@0: * identifier or macro that lacks a DBus, dbus_, or DBUS_ namepace sl@0: * prefix is internal, with a couple of exceptions such as #NULL, sl@0: * #TRUE, and #FALSE. sl@0: */ sl@0: sl@0: #endif /* DBUS_H */