aa27ea94d4853272e72c7a8f3d8e6411387c2bbf
[platform/upstream/dbus.git] / bus / driver.h
1 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
2 /* driver.h  Bus client (driver)
3  *
4  * Copyright (C) 2003  CodeFactory AB
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
24 #ifndef BUS_DRIVER_H
25 #define BUS_DRIVER_H
26
27 #include <dbus/dbus.h>
28 #include "connection.h"
29
30 typedef enum
31 {
32   BUS_DRIVER_FOUND_SELF,
33   BUS_DRIVER_FOUND_PEER,
34   BUS_DRIVER_FOUND_ERROR,
35 } BusDriverFound;
36
37 void        bus_driver_remove_connection     (DBusConnection *connection);
38 BusResult   bus_driver_handle_message        (DBusConnection *connection,
39                                               BusTransaction *transaction,
40                                               DBusMessage    *message,
41                                               DBusError      *error);
42 dbus_bool_t bus_driver_send_service_lost     (DBusConnection *connection,
43                                               const char     *service_name,
44                                               BusTransaction *transaction,
45                                               DBusError      *error);
46 dbus_bool_t bus_driver_send_service_acquired (DBusConnection *connection,
47                                               const char     *service_name,
48                                               BusTransaction *transaction,
49                                               DBusError      *error);
50 dbus_bool_t bus_driver_send_service_owner_changed  (const char     *service_name,
51                                                     const char     *old_owner,
52                                                     const char     *new_owner,
53                                                     BusTransaction *transaction,
54                                                     DBusError      *error);
55 dbus_bool_t bus_driver_generate_introspect_string  (DBusString *xml,
56                                                     dbus_bool_t canonical_path,
57                                                     DBusMessage *message);
58
59 BusDriverFound bus_driver_get_conn_helper (DBusConnection  *connection,
60                                            DBusMessage     *message,
61                                            const char      *what_we_want,
62                                            const char     **name_p,
63                                            DBusConnection **peer_conn_p,
64                                            DBusError       *error);
65 dbus_bool_t bus_driver_send_ack_reply     (DBusConnection  *connection,
66                                            BusTransaction  *transaction,
67                                            DBusMessage     *message,
68                                            DBusError       *error);
69
70 dbus_bool_t bus_driver_send_connection_overflow (DBusConnection *connection,
71                                                  BusTransaction *transaction,
72                                                  DBusError      *error);
73
74 #endif /* BUS_DRIVER_H */