summaryrefslogtreecommitdiff
path: root/packages/dbus
diff options
context:
space:
mode:
authorsergei <sergei@3ad0048d-3df7-0310-abae-a5850022a9f2>2010-11-03 14:08:51 +0000
committersergei <sergei@3ad0048d-3df7-0310-abae-a5850022a9f2>2010-11-03 14:08:51 +0000
commitb9fef704c3f8429aad0f1e139036cb0fb23d1b7c (patch)
treebca7d55fb914e8e0a938d48ee1c80c9e74754511 /packages/dbus
parentcdd6e8aeb4469ef312871d8ae5852b2ed5943101 (diff)
downloadfpc-b9fef704c3f8429aad0f1e139036cb0fb23d1b7c.tar.gz
* Updated DBus headers to version 1.2.16
* Added 'cdecl' to all callback function type definitions. git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@16300 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/dbus')
-rw-r--r--packages/dbus/fpmake.pp3
-rw-r--r--packages/dbus/src/dbus-bus.inc2
-rw-r--r--packages/dbus/src/dbus-connection.inc63
-rw-r--r--packages/dbus/src/dbus-memory.inc2
-rw-r--r--packages/dbus/src/dbus-message.inc8
-rw-r--r--packages/dbus/src/dbus-misc.inc28
-rw-r--r--packages/dbus/src/dbus-protocol.inc14
-rw-r--r--packages/dbus/src/dbus-server.inc13
-rw-r--r--packages/dbus/src/dbus-threads.inc43
-rw-r--r--packages/dbus/src/dbus.pas6
10 files changed, 136 insertions, 46 deletions
diff --git a/packages/dbus/fpmake.pp b/packages/dbus/fpmake.pp
index acccfc4053..de15691d80 100644
--- a/packages/dbus/fpmake.pp
+++ b/packages/dbus/fpmake.pp
@@ -22,7 +22,7 @@ begin
P.License := 'Library: GPL2 or later, header: LGPL with modification, ';
P.HomepageURL := 'www.freepascal.org';
P.Email := '';
- P.Description := 'D-Bus message bus interface. (Pre 1.0?)';
+ P.Description := 'D-Bus message bus interface. (1.2.16)';
P.NeedLibC:= true;
P.SourcePath.Add('src');
@@ -46,6 +46,7 @@ begin
AddInclude('dbus-server.inc');
AddInclude('dbus-signature.inc');
AddInclude('dbus-threads.inc');
+ AddInclude('dbus-misc.inc');
end;
P.ExamplePath.Add('examples');
diff --git a/packages/dbus/src/dbus-bus.inc b/packages/dbus/src/dbus-bus.inc
index 7845abe1cb..550e86810b 100644
--- a/packages/dbus/src/dbus-bus.inc
+++ b/packages/dbus/src/dbus-bus.inc
@@ -32,6 +32,7 @@ function dbus_bus_set_unique_name(connection: PDBusConnection;
function dbus_bus_get_unique_name(connection: PDBusConnection): PChar; cdecl; external LibDBus;
function dbus_bus_get_unix_user(connection: PDBusConnection;
const name: PChar; error: PDBusError): culong; cdecl; external LibDBus;
+function dbus_bus_get_id(connection: PDBusConnection; error: PDBusError): PChar; cdecl; external LibDBus;
function dbus_bus_request_name(connection: PDBusConnection;
const name: PChar; flags: cuint; error: PDBusError): cint; cdecl; external LibDBus;
function dbus_bus_release_name(connection: PDBusConnection;
@@ -48,5 +49,4 @@ procedure dbus_bus_add_match(connection: PDBusConnection;
procedure dbus_bus_remove_match(connection: PDBusConnection;
const rule: PChar; error: PDBusError); cdecl; external LibDBus;
-procedure _dbus_bus_check_connection_and_unref (connection: PDBusConnection); cdecl; external LibDBus;
diff --git a/packages/dbus/src/dbus-connection.inc b/packages/dbus/src/dbus-connection.inc
index 2a3bc32c66..fc1296d637 100644
--- a/packages/dbus/src/dbus-connection.inc
+++ b/packages/dbus/src/dbus-connection.inc
@@ -60,23 +60,26 @@ type
DBUS_DISPATCH_NEED_MEMORY {< More memory is needed to continue. }
);
- DBusAddWatchFunction = function (watch: PDBusWatch; data: Pointer): dbus_bool_t;
- DBusWatchToggledFunction = procedure(watch: PDBusWatch; data: Pointer);
- DBusRemoveWatchFunction = procedure(watch: PDBusWatch; data: Pointer);
- DBusAddTimeoutFunction = function(timeout: PDBusTimeout; data: Pointer): dbus_bool_t;
- DBusTimeoutToggledFunction = procedure(timeout: PDBusTimeout; data: Pointer);
- DBusRemoveTimeoutFunction = procedure(timeout: PDBusTimeout; data: Pointer);
+ DBusAddWatchFunction = function (watch: PDBusWatch; data: Pointer): dbus_bool_t; cdecl;
+ DBusWatchToggledFunction = procedure(watch: PDBusWatch; data: Pointer); cdecl;
+ DBusRemoveWatchFunction = procedure(watch: PDBusWatch; data: Pointer); cdecl;
+ DBusAddTimeoutFunction = function(timeout: PDBusTimeout; data: Pointer): dbus_bool_t; cdecl;
+ DBusTimeoutToggledFunction = procedure(timeout: PDBusTimeout; data: Pointer); cdecl;
+ DBusRemoveTimeoutFunction = procedure(timeout: PDBusTimeout; data: Pointer); cdecl;
DBusDispatchStatusFunction = procedure(connection: PDBusConnection;
- new_status: DBusDispatchStatus; data: Pointer);
- DBusWakeupMainFunction = procedure(data: Pointer);
+ new_status: DBusDispatchStatus; data: Pointer); cdecl;
+ DBusWakeupMainFunction = procedure(data: Pointer); cdecl;
DBusAllowUnixUserFunction = function(connection: PDBusConnection;
- uid: cuint; data: Pointer): dbus_bool_t;
+ uid: cuint; data: Pointer): dbus_bool_t; cdecl;
+
+ DBusAllowWindowsUserFunction = function(connection: PDBusConnection;
+ user_sid: PChar; data: Pointer): dbus_bool_t; cdecl;
DBusPendingCallNotifyFunction = procedure(pending: PDBusPendingCall;
- user_data: Pointer);
+ user_data: Pointer); cdecl;
DBusHandleMessageFunction = function(connection: PDBusConnection;
- message_: PDBusMessage; user_data: Pointer): DBusHandlerResult;
+ message_: PDBusMessage; user_data: Pointer): DBusHandlerResult; cdecl;
function dbus_connection_open(const address: PChar; error: PDBusError): PDBusConnection; cdecl; external LibDBus;
function dbus_connection_open_private(const address: PChar; error: PDBusError): PDBusConnection; cdecl; external LibDBus;
@@ -133,13 +136,30 @@ function dbus_connection_get_unix_user(connection: PDBusConnection;
uid: Pculong): dbus_bool_t; cdecl; external LibDBus;
function dbus_connection_get_unix_process_id(connection: PDBusConnection;
pid: Pculong): dbus_bool_t; cdecl; external LibDBus;
+function dbus_connection_get_adt_audit_session_data(connection: PDBusConnection;
+ data: PPointer; data_size: Pdbus_int32_t): dbus_bool_t; cdecl; external LibDBus;
procedure dbus_connection_set_unix_user_function(connection: PDBusConnection;
function_: DBusAllowUnixUserFunction;
data: Pointer;
free_data_function: DBusFreeFunction); cdecl; external LibDBus;
+function dbus_connection_get_windows_user(connection: PDBusConnection;
+ windows_sid_p: PPChar): dbus_bool_t; cdecl; external LibDBus;
+procedure dbus_connection_set_windows_user_function(connection: PDBusConnection;
+ function_: DBusAllowWindowsUserFunction;
+ data: Pointer;
+ free_data_function: DBusFreeFunction); cdecl; external LibDBus;
+
+procedure dbus_connection_set_allow_anonymous(connection: PDBusConnection;
+ value: dbus_bool_t); cdecl; external LibDBus;
+procedure dbus_connection_set_route_peer_messages(connection: PDBusConnection;
+ value: dbus_bool_t); cdecl; external LibDBus;
+//deprecated:
function dbus_watch_get_fd(watch: PDBusWatch): cint; cdecl; external LibDBus;
+
+function dbus_watch_get_unix_fd(watch: PDBusWatch): cint; cdecl; external LibDBus;
+function dbus_watch_get_socket(watch: PDBusWatch): cint; cdecl; external LibDBus;
function dbus_watch_get_flags(watch: PDBusWatch): cuint; cdecl; external LibDBus;
function dbus_watch_get_data(watch: PDBusWatch): Pointer; cdecl; external LibDBus;
procedure dbus_watch_set_data(watch: PDBusWatch;
@@ -189,15 +209,15 @@ procedure dbus_connection_send_preallocated (connection: PDBusConnection;
type
DBusObjectPathUnregisterFunction = procedure(connection: PDBusConnection;
- user_data: Pointer);
+ user_data: Pointer); cdecl;
DBusObjectPathMessageFunction = function(connection: PDBusConnection;
- message_: PDBusMessage; user_data: Pointer): DBusHandlerResult;
+ message_: PDBusMessage; user_data: Pointer): DBusHandlerResult; cdecl;
{
* Virtual table that must be implemented to handle a portion of the
* object path hierarchy.
}
- dbus_internal_func = procedure(param1: Pointer);
+ dbus_internal_func = procedure(param1: Pointer); cdecl;
PDBusObjectPathVTable = ^DBusObjectPathVTable;
@@ -212,10 +232,18 @@ type
dbus_internal_pad4: dbus_internal_func; {< Reserved for future expansion }
end;
+function dbus_connection_try_register_object_path(connection: PDBusConnection;
+ path: PChar; vtable: PDBusObjectPathVTable; user_data: Pointer;
+ error: PDBusError): dbus_bool_t; cdecl; external LibDBus;
+
function dbus_connection_register_object_path(connection: PDBusConnection;
- const path: PChar;
- const vtable: PDBusObjectPathVTable;
+ path: PChar; vtable: PDBusObjectPathVTable;
user_data: Pointer): dbus_bool_t; cdecl; external LibDBus;
+
+function dbus_connection_try_register_fallback(connection: PDBusConnection;
+ path: PChar; vtable: PDBusObjectPathVTable; user_data: Pointer;
+ error: PDBusError): dbus_bool_t; cdecl; external LibDBus;
+
function dbus_connection_register_fallback(connection: PDBusConnection;
const path: PChar;
const vtable: PDBusObjectPathVTable;
@@ -234,3 +262,6 @@ function dbus_connection_list_registered(connection: PDBusConnection;
function dbus_connection_get_unix_fd(connection: PDBusConnection;
fd: Pcint): dbus_bool_t; cdecl; external LibDBus;
+function dbus_connection_get_socket(connection: PDBusConnection;
+ fd: Pcint): dbus_bool_t; cdecl; external LibDBus;
+
diff --git a/packages/dbus/src/dbus-memory.inc b/packages/dbus/src/dbus-memory.inc
index 9fca297924..c1dfc3ab2a 100644
--- a/packages/dbus/src/dbus-memory.inc
+++ b/packages/dbus/src/dbus-memory.inc
@@ -35,7 +35,7 @@ procedure dbus_free(memory: Pointer); cdecl; external LibDBus;
procedure dbus_free_string_array(str_array: PPChar); cdecl; external LibDBus;
type
- DBusFreeFunction = procedure(memory: Pointer);
+ DBusFreeFunction = procedure(memory: Pointer); cdecl;
procedure dbus_shutdown; cdecl; external LibDBus;
diff --git a/packages/dbus/src/dbus-message.inc b/packages/dbus/src/dbus-message.inc
index 0662fe8472..8e8de67a9f 100644
--- a/packages/dbus/src/dbus-message.inc
+++ b/packages/dbus/src/dbus-message.inc
@@ -138,7 +138,9 @@ function dbus_message_iter_get_arg_type(iter: PDBusMessageIter): cint; cdecl; ex
function dbus_message_iter_get_element_type(iter: PDBusMessageIter): cint; cdecl; external LibDBus;
procedure dbus_message_iter_recurse(iter, sub: PDBusMessageIter); cdecl; external LibDBus;
procedure dbus_message_iter_get_basic(iter: PDBusMessageIter; value: Pointer); cdecl; external LibDBus;
+//deprecated:
function dbus_message_iter_get_array_len(iter: PDBusMessageIter): cint; cdecl; external LibDBus;
+
procedure dbus_message_iter_get_fixed_array(iter: PDBusMessageIter; value: Pointer; n_elements: Pcint); cdecl; external LibDBus;
@@ -164,3 +166,9 @@ function dbus_message_get_data(message_: PDBusMessage; slot: dbus_int32_t): Poin
function dbus_message_type_from_string(const type_str: PChar): cint; cdecl; external LibDBus;
function dbus_message_type_to_string(type_: cint): PChar; cdecl; external LibDBus;
+function dbus_message_marshal(msg: PDBusMessage;
+ marshalled_data_p: PPChar;
+ len_p: pcint): dbus_bool_t; cdecl; external LibDBus;
+function dbus_message_demarshal(const str: PChar;
+ len: cint; error: PDBusError): PDBusMessage; cdecl; external LibDBus;
+
diff --git a/packages/dbus/src/dbus-misc.inc b/packages/dbus/src/dbus-misc.inc
new file mode 100644
index 0000000000..6315454d85
--- /dev/null
+++ b/packages/dbus/src/dbus-misc.inc
@@ -0,0 +1,28 @@
+{ dbus-misc.h A few assorted public functions that don't fit elsewhere
+ *
+ * Copyright (C) 2006 Red Hat, Inc.
+ *
+ * Licensed under the Academic Free License version 2.1
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ }
+
+
+function dbus_get_local_machine_id: PChar; cdecl; external LibDBus;
+
+procedure dbus_get_version(major_version_p, minor_version_p,
+ micro_version_p: Pcint); cdecl; external LibDBus;
+
diff --git a/packages/dbus/src/dbus-protocol.inc b/packages/dbus/src/dbus-protocol.inc
index 7dfe2131d5..bcbdc96888 100644
--- a/packages/dbus/src/dbus-protocol.inc
+++ b/packages/dbus/src/dbus-protocol.inc
@@ -231,6 +231,7 @@ const
DBUS_ERROR_DISCONNECTED = 'org.freedesktop.DBus.Error.Disconnected';
DBUS_ERROR_INVALID_ARGS = 'org.freedesktop.DBus.Error.InvalidArgs';
DBUS_ERROR_FILE_NOT_FOUND = 'org.freedesktop.DBus.Error.FileNotFound';
+ DBUS_ERROR_FILE_EXISTS = 'org.freedesktop.DBus.Error.FileExists';
DBUS_ERROR_UNKNOWN_METHOD = 'org.freedesktop.DBus.Error.UnknownMethod';
DBUS_ERROR_TIMED_OUT = 'org.freedesktop.DBus.Error.TimedOut';
DBUS_ERROR_MATCH_RULE_NOT_FOUND = 'org.freedesktop.DBus.Error.MatchRuleNotFound';
@@ -240,12 +241,23 @@ const
DBUS_ERROR_SPAWN_CHILD_EXITED = 'org.freedesktop.DBus.Error.Spawn.ChildExited';
DBUS_ERROR_SPAWN_CHILD_SIGNALED = 'org.freedesktop.DBus.Error.Spawn.ChildSignaled';
DBUS_ERROR_SPAWN_FAILED = 'org.freedesktop.DBus.Error.Spawn.Failed';
+ DBUS_ERROR_SPAWN_SETUP_FAILED = 'org.freedesktop.DBus.Error.Spawn.FailedToSetup';
+ DBUS_ERROR_SPAWN_CONFIG_INVALID = 'org.freedesktop.DBus.Error.Spawn.ConfigInvalid';
+ DBUS_ERROR_SPAWN_SERVICE_INVALID = 'org.freedesktop.DBus.Error.Spawn.ServiceNotValid';
+ DBUS_ERROR_SPAWN_SERVICE_NOT_FOUND = 'org.freedesktop.DBus.Error.Spawn.ServiceNotFound';
+ DBUS_ERROR_SPAWN_PERMISSIONS_INVALID = 'org.freedesktop.DBus.Error.Spawn.PermissionsInvalid';
+ DBUS_ERROR_SPAWN_FILE_INVALID = 'org.freedesktop.DBus.Error.Spawn.FileInvalid';
+ DBUS_ERROR_SPAWN_NO_MEMORY = 'org.freedesktop.DBus.Error.Spawn.NoMemory';
+
DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN = 'org.freedesktop.DBus.Error.UnixProcessIdUnknown';
DBUS_ERROR_INVALID_SIGNATURE = 'org.freedesktop.DBus.Error.InvalidSignature';
DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN = 'org.freedesktop.DBus.Error.SELinuxSecurityContextUnknown';
+ DBUS_ERROR_ADT_AUDIT_DATA_UNKNOWN = 'org.freedesktop.DBus.Error.AdtAuditDataUnknown';
+ DBUS_ERROR_OBJECT_PATH_IN_USE = 'org.freedesktop.DBus.Error.ObjectPathInUse';
+
DBUS_INTROSPECT_1_0_XML_NAMESPACE = 'http://www.freedesktop.org/standards/dbus';
DBUS_INTROSPECT_1_0_XML_PUBLIC_IDENTIFIER = '-//freedesktop//DTD D-BUS Object Introspection 1.0//EN';
DBUS_INTROSPECT_1_0_XML_SYSTEM_IDENTIFIER = 'http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd';
- DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE = '<!DOCTYPE node PUBLIC \""DBUS_INTROSPECT_1_0_XML_PUBLIC_IDENTIFIER"\"\n\""DBUS_INTROSPECT_1_0_XML_SYSTEM_IDENTIFIER"\">\n';
+ DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE = '<!DOCTYPE node PUBLIC "'+DBUS_INTROSPECT_1_0_XML_PUBLIC_IDENTIFIER+'"'#10'"'+DBUS_INTROSPECT_1_0_XML_SYSTEM_IDENTIFIER+'">'#10;
diff --git a/packages/dbus/src/dbus-server.inc b/packages/dbus/src/dbus-server.inc
index c00074ef68..5e025f52c7 100644
--- a/packages/dbus/src/dbus-server.inc
+++ b/packages/dbus/src/dbus-server.inc
@@ -31,14 +31,15 @@ type
PDBusServer = ^DBusServer;
DBusNewConnectionFunction = procedure (server: PDBusServer;
- new_connection: PDBusConnection; data: Pointer);
+ new_connection: PDBusConnection; data: Pointer); cdecl;
function dbus_server_listen(const address: PChar; error: PDBusError): PDBusServer; cdecl; external LibDBus;
-function dbus_server_ref(error: PDBusError): PDBusServer; cdecl; external LibDBus;
-procedure dbus_server_unref(error: PDBusError); cdecl; external LibDBus;
-procedure dbus_server_disconnect(error: PDBusError); cdecl; external LibDBus;
-function dbus_server_get_is_connected(error: PDBusError): dbus_bool_t; cdecl; external LibDBus;
-function dbus_server_get_address(error: PDBusError): PChar; cdecl; external LibDBus;
+function dbus_server_ref(server: PDBusServer): PDBusServer; cdecl; external LibDBus;
+procedure dbus_server_unref(server: PDBusServer); cdecl; external LibDBus;
+procedure dbus_server_disconnect(server: PDBusServer); cdecl; external LibDBus;
+function dbus_server_get_is_connected(server: PDBusServer): dbus_bool_t; cdecl; external LibDBus;
+function dbus_server_get_address(server: PDBusServer): PChar; cdecl; external LibDBus;
+function dbus_server_get_id(server: PDBusServer): PChar; cdecl; external LibDBus;
procedure dbus_server_set_new_connection_function(server: PDBusServer;
function_: DBusNewConnectionFunction; data: Pointer; free_data_function: DBusFreeFunction); cdecl; external LibDBus;
function dbus_server_set_watch_functions(server: PDBusServer;
diff --git a/packages/dbus/src/dbus-threads.inc b/packages/dbus/src/dbus-threads.inc
index be7adf4a0d..e0c0223801 100644
--- a/packages/dbus/src/dbus-threads.inc
+++ b/packages/dbus/src/dbus-threads.inc
@@ -31,18 +31,23 @@ type
DBusCondVar = record end;
PDBusCondVar = ^DBusCondVar;
- DBusMutexNewFunction = function (): DBusMutex;
- DBusMutexFreeFunction = procedure (mutex: PDBusMutex);
- DBusMutexLockFunction = function (mutex: PDBusMutex): dbus_bool_t;
- DBusMutexUnlockFunction = function (mutex: PDBusMutex): dbus_bool_t;
+ DBusMutexNewFunction = function (): DBusMutex; cdecl;
+ DBusMutexFreeFunction = procedure (mutex: PDBusMutex); cdecl;
+ DBusMutexLockFunction = function (mutex: PDBusMutex): dbus_bool_t; cdecl;
+ DBusMutexUnlockFunction = function (mutex: PDBusMutex): dbus_bool_t; cdecl;
- DBusCondVarNewFunction = function (): PDBusCondVar;
- DBusCondVarFreeFunction = procedure (cond: PDBusCondVar);
- DBusCondVarWaitFunction = procedure (cond: PDBusCondVar; mutex: PDBusMutex);
+ DBusRecursiveMutexNewFunction = function(): DBusMutex; cdecl;
+ DBusRecursiveMutexFreeFunction = procedure (mutex: PDBusMutex); cdecl;
+ DBusRecursiveMutexLockFunction = procedure (mutex: PDBusMutex); cdecl;
+ DBusRecursiveMutexUnlockFunction = procedure (mutex: PDBusMutex); cdecl;
+
+ DBusCondVarNewFunction = function (): PDBusCondVar; cdecl;
+ DBusCondVarFreeFunction = procedure (cond: PDBusCondVar); cdecl;
+ DBusCondVarWaitFunction = procedure (cond: PDBusCondVar; mutex: PDBusMutex); cdecl;
DBusCondVarWaitTimeoutFunction = procedure (cond: PDBusCondVar; mutex: PDBusMutex;
- timeout_milliseconds: cint);
- DBusCondVarWakeOneFunction = procedure (cond: PDBusCondVar);
- DBusCondVarWakeAllFunction = procedure (cond: PDBusCondVar);
+ timeout_milliseconds: cint); cdecl;
+ DBusCondVarWakeOneFunction = procedure (cond: PDBusCondVar); cdecl;
+ DBusCondVarWakeAllFunction = procedure (cond: PDBusCondVar); cdecl;
DBusThreadFunctionsMask =
(
@@ -56,8 +61,12 @@ type
DBUS_THREAD_FUNCTIONS_CONDVAR_WAIT_TIMEOUT_MASK = 1 shl 7,
DBUS_THREAD_FUNCTIONS_CONDVAR_WAKE_ONE_MASK = 1 shl 8,
DBUS_THREAD_FUNCTIONS_CONDVAR_WAKE_ALL_MASK = 1 shl 9,
+ DBUS_THREAD_FUNCTIONS_RECURSIVE_MUTEX_NEW_MASK = 1 shl 10,
+ DBUS_THREAD_FUNCTIONS_RECURSIVE_MUTEX_FREE_MASK = 1 shl 11,
+ DBUS_THREAD_FUNCTIONS_RECURSIVE_MUTEX_LOCK_MASK = 1 shl 12,
+ DBUS_THREAD_FUNCTIONS_RECURSIVE_MUTEX_UNLOCK_MASK = 1 shl 13,
- DBUS_THREAD_FUNCTIONS_ALL_MASK = (1 shl 10) - 1
+ DBUS_THREAD_FUNCTIONS_ALL_MASK = (1 shl 14) - 1
);
{
@@ -78,18 +87,20 @@ type
condvar_wait_timeout: DBusCondVarWaitTimeoutFunction; {< Function to wait on a condition with a timeout }
condvar_wake_one: DBusCondVarWakeOneFunction; {< Function to wake one thread waiting on the condition }
condvar_wake_all: DBusCondVarWakeAllFunction; {< Function to wake all threads waiting on the condition }
-
+
+ recursive_mutex_new: DBusRecursiveMutexNewFunction; {< Function to create a recursive mutex }
+ recursive_mutex_free: DBusRecursiveMutexFreeFunction; {< Function to free a recursive mutex }
+ recursive_mutex_lock: DBusRecursiveMutexLockFunction; {< Function to lock a recursive mutex }
+ recursive_mutex_unlock: DBusRecursiveMutexUnlockFunction; {< Function to unlock a recursive mutex }
+
padding1: procedure; {< Reserved for future expansion }
padding2: procedure; {< Reserved for future expansion }
padding3: procedure; {< Reserved for future expansion }
padding4: procedure; {< Reserved for future expansion }
- padding5: procedure; {< Reserved for future expansion }
- padding6: procedure; {< Reserved for future expansion }
- padding7: procedure; {< Reserved for future expansion }
- padding8: procedure; {< Reserved for future expansion }
end;
PDBusThreadFunctions = ^DBusThreadFunctions;
function dbus_threads_init(const functions: PDBusThreadFunctions): dbus_bool_t; cdecl; external LibDBus;
+function dbus_threads_init_default: dbus_bool_t; cdecl; external LibDBus;
diff --git a/packages/dbus/src/dbus.pas b/packages/dbus/src/dbus.pas
index af137d10c5..27d94d8af2 100644
--- a/packages/dbus/src/dbus.pas
+++ b/packages/dbus/src/dbus.pas
@@ -1,7 +1,7 @@
{
Pascal translation of the dbus headers
- Based on dbus version 0.92
+ Based on dbus version 1.2.16
}
{ -*- mode: C; c-file-style: "gnu" -*- }
{ dbus.h Convenience header including all other headers
@@ -49,9 +49,6 @@ interface
uses ctypes;
-{ D-Bus hasn't reached 1.0 and is subject to protocol and API churn.
- See the README for a full explanation. }
-
const
{$ifdef unix}
LibDBus = 'libdbus-1';
@@ -76,6 +73,7 @@ const
{$include dbus-signature.inc}
{$include dbus-threads.inc}
+{$include dbus-misc.inc}
{
* @defgroup DBus D-Bus low-level public API