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