bus.h revision 29c71168cd17b11eed65023c97aff401d5305b01
1b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch/* -*- mode: C; c-file-style: "gnu" -*- */
2b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch/* bus.h  message bus context object
3b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch *
4b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch * Copyright (C) 2003 Red Hat, Inc.
5b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch *
6b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch * Licensed under the Academic Free License version 1.2
7b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch *
8b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch * This program is free software; you can redistribute it and/or modify
9b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch * it under the terms of the GNU General Public License as published by
10b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch * the Free Software Foundation; either version 2 of the License, or
11b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch * (at your option) any later version.
12b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch *
13b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch * This program is distributed in the hope that it will be useful,
14b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch * but WITHOUT ANY WARRANTY; without even the implied warranty of
15b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch * GNU General Public License for more details.
17b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch *
18b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch * You should have received a copy of the GNU General Public License
19b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch * along with this program; if not, write to the Free Software
20b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
21b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch *
22b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch */
23b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch
24b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch#ifndef BUS_BUS_H
25b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch#define BUS_BUS_H
26b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch
27b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch#include <config.h>
28b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch
29b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch#include <dbus/dbus.h>
30b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch#include <dbus/dbus-string.h>
31b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch
32b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdochtypedef struct BusActivation  BusActivation;
33b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdochtypedef struct BusConnections BusConnections;
34b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdochtypedef struct BusContext     BusContext;
35b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdochtypedef struct BusPolicy      BusPolicy;
36b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdochtypedef struct BusPolicyRule  BusPolicyRule;
37b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdochtypedef struct BusRegistry    BusRegistry;
38b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdochtypedef struct BusService     BusService;
39b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdochtypedef struct BusTransaction BusTransaction;
40b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch
41b8a8cc1952d61a2f3a2568848933943a543b5d3eBen MurdochBusContext*     bus_context_new                      (const DBusString *config_file,
42b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch                                                      DBusError        *error);
43b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdochvoid            bus_context_shutdown                 (BusContext       *context);
44b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdochvoid            bus_context_ref                      (BusContext       *context);
45b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdochvoid            bus_context_unref                    (BusContext       *context);
46b8a8cc1952d61a2f3a2568848933943a543b5d3eBen MurdochBusRegistry*    bus_context_get_registry             (BusContext       *context);
47b8a8cc1952d61a2f3a2568848933943a543b5d3eBen MurdochBusConnections* bus_context_get_connections          (BusContext       *context);
48958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily BernierBusActivation*  bus_context_get_activation           (BusContext       *context);
49014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdochdbus_bool_t     bus_context_allow_user               (BusContext       *context,
50014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch                                                      unsigned long     uid);
51014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben MurdochBusPolicy*      bus_context_create_connection_policy (BusContext       *context,
52014dc512cdd3e367bee49a713fdc5ed92584a3e5Ben Murdoch                                                      DBusConnection   *connection);
53b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch
54b8a8cc1952d61a2f3a2568848933943a543b5d3eBen Murdoch#endif /* BUS_BUS_H */
55958fae7ec3f466955f8e5b50fa5b8d38b9e91675Emily Bernier