2018-07-08 18:17:48 +03:00
|
|
|
//========================================================================
|
2019-07-18 20:08:14 +03:00
|
|
|
// GLFW 3.4 XKB - www.glfw.org
|
2018-07-08 18:17:48 +03:00
|
|
|
//------------------------------------------------------------------------
|
|
|
|
// Copyright (c) 2018 Kovid Goyal <kovid@kovidgoyal.net>
|
|
|
|
//
|
|
|
|
// This software is provided 'as-is', without any express or implied
|
|
|
|
// warranty. In no event will the authors be held liable for any damages
|
|
|
|
// arising from the use of this software.
|
|
|
|
//
|
|
|
|
// Permission is granted to anyone to use this software for any purpose,
|
|
|
|
// including commercial applications, and to alter it and redistribute it
|
|
|
|
// freely, subject to the following restrictions:
|
|
|
|
//
|
|
|
|
// 1. The origin of this software must not be misrepresented; you must not
|
|
|
|
// claim that you wrote the original software. If you use this software
|
|
|
|
// in a product, an acknowledgment in the product documentation would
|
|
|
|
// be appreciated but is not required.
|
|
|
|
//
|
|
|
|
// 2. Altered source versions must be plainly marked as such, and must not
|
|
|
|
// be misrepresented as being the original software.
|
|
|
|
//
|
|
|
|
// 3. This notice may not be removed or altered from any source
|
|
|
|
// distribution.
|
|
|
|
//
|
|
|
|
//========================================================================
|
|
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <dbus/dbus.h>
|
2018-07-09 11:59:34 +03:00
|
|
|
#include "backend_utils.h"
|
2018-07-08 18:17:48 +03:00
|
|
|
|
2018-07-10 06:11:47 +03:00
|
|
|
typedef void(*dbus_pending_callback)(DBusMessage *msg, const char* err, void* data);
|
|
|
|
|
2018-07-08 18:17:48 +03:00
|
|
|
typedef struct {
|
2018-07-09 11:59:34 +03:00
|
|
|
EventLoopData* eld;
|
2018-07-08 18:17:48 +03:00
|
|
|
} _GLFWDBUSData;
|
|
|
|
|
|
|
|
|
2019-06-08 05:42:42 +03:00
|
|
|
bool glfw_dbus_init(_GLFWDBUSData *dbus, EventLoopData *eld);
|
2018-07-08 18:17:48 +03:00
|
|
|
void glfw_dbus_terminate(_GLFWDBUSData *dbus);
|
2019-06-08 05:42:42 +03:00
|
|
|
DBusConnection* glfw_dbus_connect_to(const char *path, const char* err_msg, const char* name, bool register_on_bus);
|
2018-07-09 03:40:22 +03:00
|
|
|
void glfw_dbus_close_connection(DBusConnection *conn);
|
2019-06-08 05:42:42 +03:00
|
|
|
bool
|
2019-02-02 11:18:26 +03:00
|
|
|
call_method_with_msg(DBusConnection *conn, DBusMessage *msg, int timeout, dbus_pending_callback callback, void *user_data);
|
2019-06-08 05:42:42 +03:00
|
|
|
bool
|
2018-07-10 06:11:47 +03:00
|
|
|
glfw_dbus_call_method_no_reply(DBusConnection *conn, const char *node, const char *path, const char *interface, const char *method, ...);
|
2019-06-08 05:42:42 +03:00
|
|
|
bool
|
2018-07-12 09:41:17 +03:00
|
|
|
glfw_dbus_call_method_with_reply(DBusConnection *conn, const char *node, const char *path, const char *interface, const char *method, int timeout_ms, dbus_pending_callback callback, void *user_data, ...);
|
2018-07-09 19:04:06 +03:00
|
|
|
void glfw_dbus_dispatch(DBusConnection *);
|
2019-05-13 08:29:01 +03:00
|
|
|
void glfw_dbus_session_bus_dispatch(void);
|
2019-06-08 05:42:42 +03:00
|
|
|
bool glfw_dbus_get_args(DBusMessage *msg, const char *failmsg, ...);
|
2018-07-10 12:34:32 +03:00
|
|
|
int glfw_dbus_match_signal(DBusMessage *msg, const char *interface, ...);
|
2019-05-13 08:29:01 +03:00
|
|
|
DBusConnection* glfw_dbus_session_bus(void);
|