| Index: dbus_interface.h
|
| diff --git a/dbus_interface.h b/dbus_interface.h
|
| index de09fffd8ff75d52f8482cc3d4835d142a24ae00..ec266b5d324848016d6dfd1a492da95216b9b8a2 100644
|
| --- a/dbus_interface.h
|
| +++ b/dbus_interface.h
|
| @@ -9,6 +9,7 @@
|
|
|
| #include <base/logging.h>
|
| #include <dbus/dbus-glib.h>
|
| +#include <dbus/dbus-glib-lowlevel.h>
|
|
|
| namespace chromeos_update_engine {
|
|
|
| @@ -25,7 +26,7 @@ class DbusGlibInterface {
|
| virtual void ProxyUnref(DBusGProxy* proxy) = 0;
|
|
|
| // wraps dbus_g_bus_get
|
| - virtual DBusGConnection* BusGet(DBusBusType type, GError** error) = 0;
|
| + virtual DBusGConnection* BusGet(DBusBusType type, GError** error) = 0;
|
|
|
| // wraps dbus_g_proxy_call
|
| virtual gboolean ProxyCall(DBusGProxy* proxy,
|
| @@ -44,6 +45,38 @@ class DbusGlibInterface {
|
| GType var_arg4, gchar** var_arg5,
|
| GType var_arg6, GArray** var_arg7,
|
| GType var_arg8) = 0;
|
| +
|
| + virtual gboolean ProxyCall(DBusGProxy* proxy,
|
| + const char* method,
|
| + GError** error,
|
| + GType var_arg1, const char* var_arg2,
|
| + GType var_arg3, const char* var_arg4,
|
| + GType var_arg5, const char* var_arg6,
|
| + GType var_arg7, GType var_arg8) = 0;
|
| +
|
| + virtual DBusConnection* ConnectionGetConnection(DBusGConnection* gbus) = 0;
|
| +
|
| + virtual void DbusBusAddMatch(DBusConnection* connection,
|
| + const char* rule,
|
| + DBusError* error) = 0;
|
| +
|
| + virtual dbus_bool_t DbusConnectionAddFilter(
|
| + DBusConnection* connection,
|
| + DBusHandleMessageFunction function,
|
| + void* user_data,
|
| + DBusFreeFunction free_data_function) = 0;
|
| + virtual void DbusConnectionRemoveFilter(DBusConnection* connection,
|
| + DBusHandleMessageFunction function,
|
| + void* user_data) = 0;
|
| + virtual dbus_bool_t DbusMessageIsSignal(DBusMessage* message,
|
| + const char* interface,
|
| + const char* signal_name) = 0;
|
| + virtual dbus_bool_t DbusMessageGetArgs(DBusMessage* message,
|
| + DBusError* error,
|
| + GType var_arg1, char** var_arg2,
|
| + GType var_arg3, char** var_arg4,
|
| + GType var_arg5, char** var_arg6,
|
| + GType var_arg7) = 0;
|
| };
|
|
|
| class ConcreteDbusGlib : public DbusGlibInterface {
|
| @@ -63,7 +96,7 @@ class ConcreteDbusGlib : public DbusGlibInterface {
|
| g_object_unref(proxy);
|
| }
|
|
|
| - virtual DBusGConnection* BusGet(DBusBusType type, GError** error) {
|
| + virtual DBusGConnection* BusGet(DBusBusType type, GError** error) {
|
| return dbus_g_bus_get(type, error);
|
| }
|
|
|
| @@ -90,6 +123,62 @@ class ConcreteDbusGlib : public DbusGlibInterface {
|
| proxy, method, error, var_arg1, var_arg2, var_arg3,
|
| var_arg4, var_arg5, var_arg6, var_arg7, var_arg8);
|
| }
|
| +
|
| + virtual gboolean ProxyCall(DBusGProxy* proxy,
|
| + const char* method,
|
| + GError** error,
|
| + GType var_arg1, const char* var_arg2,
|
| + GType var_arg3, const char* var_arg4,
|
| + GType var_arg5, const char* var_arg6,
|
| + GType var_arg7, GType var_arg8) {
|
| + return dbus_g_proxy_call(
|
| + proxy, method, error, var_arg1, var_arg2, var_arg3,
|
| + var_arg4, var_arg5, var_arg6, var_arg7, var_arg8);
|
| + }
|
| +
|
| +
|
| + virtual DBusConnection* ConnectionGetConnection(DBusGConnection* gbus) {
|
| + return dbus_g_connection_get_connection(gbus);
|
| + }
|
| +
|
| + virtual void DbusBusAddMatch(DBusConnection* connection,
|
| + const char* rule,
|
| + DBusError* error) {
|
| + dbus_bus_add_match(connection, rule, error);
|
| + }
|
| +
|
| + virtual dbus_bool_t DbusConnectionAddFilter(
|
| + DBusConnection* connection,
|
| + DBusHandleMessageFunction function,
|
| + void* user_data,
|
| + DBusFreeFunction free_data_function) {
|
| + return dbus_connection_add_filter(connection,
|
| + function,
|
| + user_data,
|
| + free_data_function);
|
| + }
|
| + virtual void DbusConnectionRemoveFilter(DBusConnection* connection,
|
| + DBusHandleMessageFunction function,
|
| + void* user_data) {
|
| + dbus_connection_remove_filter(connection, function, user_data);
|
| + }
|
| + dbus_bool_t DbusMessageIsSignal(DBusMessage* message,
|
| + const char* interface,
|
| + const char* signal_name) {
|
| + return dbus_message_is_signal(message, interface, signal_name);
|
| + }
|
| + virtual dbus_bool_t DbusMessageGetArgs(DBusMessage* message,
|
| + DBusError* error,
|
| + GType var_arg1, char** var_arg2,
|
| + GType var_arg3, char** var_arg4,
|
| + GType var_arg5, char** var_arg6,
|
| + GType var_arg7) {
|
| + return dbus_message_get_args(message, error,
|
| + var_arg1, var_arg2,
|
| + var_arg3, var_arg4,
|
| + var_arg5, var_arg6,
|
| + var_arg7);
|
| + }
|
| };
|
|
|
| } // namespace chromeos_update_engine
|
|
|