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