Browse Source

* Updated DBus headers to version 1.2.16
* Added 'cdecl' to all callback function type definitions.

git-svn-id: trunk@16300 -

sergei 14 years ago
parent
commit
87b8b02463

+ 1 - 0
.gitattributes

@@ -1505,6 +1505,7 @@ packages/dbus/src/dbus-errors.inc svneol=native#text/plain
 packages/dbus/src/dbus-macros.inc svneol=native#text/plain
 packages/dbus/src/dbus-memory.inc svneol=native#text/plain
 packages/dbus/src/dbus-message.inc svneol=native#text/plain
+packages/dbus/src/dbus-misc.inc svneol=native#text/plain
 packages/dbus/src/dbus-pending-call.inc svneol=native#text/plain
 packages/dbus/src/dbus-protocol.inc svneol=native#text/plain
 packages/dbus/src/dbus-server.inc svneol=native#text/plain

+ 2 - 1
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');

+ 1 - 1
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;
 

+ 47 - 16
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;
+

+ 1 - 1
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;
 

+ 8 - 0
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;
+

+ 28 - 0
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;
+

+ 13 - 1
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;
 

+ 7 - 6
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;

+ 27 - 16
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;
 

+ 2 - 4
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