1 /*
2  *  Copyright 2004 The WebRTC Project Authors. All rights reserved.
3  *
4  *  Use of this source code is governed by a BSD-style license
5  *  that can be found in the LICENSE file in the root of the source
6  *  tree. An additional intellectual property rights grant can be found
7  *  in the file PATENTS.  All contributing project authors may
8  *  be found in the AUTHORS file in the root of the source tree.
9  */
10 
11 #ifndef WEBRTC_BASE_LIBDBUSGLIBSYMBOLTABLE_H_
12 #define WEBRTC_BASE_LIBDBUSGLIBSYMBOLTABLE_H_
13 
14 #ifdef HAVE_DBUS_GLIB
15 
16 #include <dbus/dbus-glib.h>
17 #include <dbus/dbus-glib-lowlevel.h>
18 
19 #include "webrtc/base/latebindingsymboltable.h"
20 
21 namespace rtc {
22 
23 #define LIBDBUS_GLIB_CLASS_NAME LibDBusGlibSymbolTable
24 // The libdbus-glib symbols we need, as an X-Macro list.
25 // This list must contain precisely every libdbus-glib function that is used in
26 // dbus.cc.
27 #define LIBDBUS_GLIB_SYMBOLS_LIST \
28   X(dbus_bus_add_match) \
29   X(dbus_connection_add_filter) \
30   X(dbus_connection_close) \
31   X(dbus_connection_remove_filter) \
32   X(dbus_connection_set_exit_on_disconnect) \
33   X(dbus_g_bus_get) \
34   X(dbus_g_bus_get_private) \
35   X(dbus_g_connection_get_connection) \
36   X(dbus_g_connection_unref) \
37   X(dbus_g_thread_init) \
38   X(dbus_message_get_interface) \
39   X(dbus_message_get_member) \
40   X(dbus_message_get_path) \
41   X(dbus_message_get_type) \
42   X(dbus_message_iter_get_arg_type) \
43   X(dbus_message_iter_get_basic) \
44   X(dbus_message_iter_init) \
45   X(dbus_message_ref) \
46   X(dbus_message_unref)
47 
48 #define LATE_BINDING_SYMBOL_TABLE_CLASS_NAME LIBDBUS_GLIB_CLASS_NAME
49 #define LATE_BINDING_SYMBOL_TABLE_SYMBOLS_LIST LIBDBUS_GLIB_SYMBOLS_LIST
50 #include "webrtc/base/latebindingsymboltable.h.def"
51 
52 }  // namespace rtc
53 
54 #endif  // HAVE_DBUS_GLIB
55 
56 #endif  // WEBRTC_BASE_LIBDBUSGLIBSYMBOLTABLE_H_
57