118 lines
4.0 KiB
Plaintext
118 lines
4.0 KiB
Plaintext
-----------------------------------------
|
|
Windows port of the freedesktop.org D-Bus
|
|
-----------------------------------------
|
|
|
|
Features and completeness
|
|
-------------------------
|
|
The windows port of dbus provides the dbus-1 library and mostly
|
|
applications which are already available on unix. These applications
|
|
are: dbus-daemon, dbus-launch, dbus-monitor and dbus-send.
|
|
DBus comes with a test suite which is used on unix to guarantate
|
|
production quality and this test suite runs mostly. There are some
|
|
test not running yet and there is help needed to get them running.
|
|
|
|
Supported compilers
|
|
-------------------
|
|
Building dbus for Windows requires either Microsoft Visual Studio 2015
|
|
or later, or a recent mingw-w64 compiler.
|
|
|
|
Compilers older than the ones we test in continuous integration are
|
|
not supported.
|
|
|
|
Building
|
|
--------
|
|
DBus can be built on windows using automake or cmake. See the
|
|
file INSTALL for more information.
|
|
|
|
windbus and dbus4win Ports
|
|
--------------------------
|
|
The Windows ports from the windbus and dbus4win projects has been merged
|
|
into the freedesktop git master branch, as applicable. The spec has been
|
|
updated with windows specific stuff.
|
|
|
|
|
|
Tests
|
|
-----
|
|
- run complete test suite
|
|
make check
|
|
or
|
|
ctest [-V]
|
|
|
|
- dbus library check
|
|
ctest [-V] -R test-dbus
|
|
|
|
- bus daemon check
|
|
ctest [-V] -R test-bus
|
|
|
|
- check available names
|
|
ctest [-V] -R test-names
|
|
|
|
- check if dbus-daemon is accessable
|
|
bin\dbus-send.exe --session --type=method_call --print-reply --dest=org.freedesktop.DBus / org.freedesktop.DBus.ListNames method return sender=org.freedesktop.DBus -> dest=:1.4 array [ string "org.freedesktop.DBus"string ":1.4"]
|
|
|
|
- start session dbus-daemon
|
|
either by running
|
|
bin\dbus-launch
|
|
or
|
|
start bin\dbus-daemon --session
|
|
|
|
Before running these commands you may execute
|
|
set DBUS_VERBOSE=1
|
|
for getting debug infos
|
|
|
|
|
|
- call function registerd in dbus
|
|
bin\dbus-send.exe --dest=org.freedesktop.DBus --print-reply --type=method_call / org.freedesktop.DBus.StartServiceByName string:org.freedesktop.DBus.TestSuiteEchoService uint32:455 method return sender=org.freedesktop.DBus -> dest=:1.8 uint32 2
|
|
|
|
note: When building with the Visual C++ IDE the *.exe files are in
|
|
the bin/Debug and bin/Release folder, not in the bin folder.
|
|
|
|
|
|
FAQ
|
|
---
|
|
|
|
- How far is WinDBus from being usable for production ?
|
|
|
|
dbus comes with a test suite which is used on unix to guarantate
|
|
production quality and this test suite runs mostly. There are some
|
|
test not running and we need help to get them running.
|
|
In the pratice I and some other people are using dbus for at least more
|
|
than four years in conjunction with kde on windows without any problems.
|
|
|
|
- On UNIX D-Bus uses UNIX sockets to communicate (correct me if I'm wrong).
|
|
What is used on Windows ?
|
|
|
|
tcp sockets, there are some efforts to get named pipe running, but some
|
|
design problems of the win32 api, we are not able to solve without
|
|
bigger changes to the dbus code base let us stop this effort.
|
|
|
|
- Do you have any clue if dbus-win32 can run in a Windows CE environment?
|
|
|
|
dbus has been ported to wince, see README.wince for more information
|
|
|
|
- Do you know if the C++ binding made by OpenWengo will be easily portable to Windows?
|
|
|
|
The OpenWengo dbus-c++ binding has been ported to windows see in WinDBus svn
|
|
(http://sf.net/projects/windbus)
|
|
The related test applications are running well.
|
|
|
|
|
|
TODO
|
|
----
|
|
|
|
October 2010:
|
|
|
|
- the code wrapped with DBUS_WIN_FIXME should be inspected if it required for windows
|
|
|
|
- create a dbus setup installer
|
|
|
|
- implement system bus and system bus service starter
|
|
see http://windbus.svn.sourceforge.net/viewvc/windbus/trunk/bus/bus-service-win.c
|
|
for a starting point
|
|
|
|
- implement a real login session bus
|
|
The scope parameter of the autolaunch meta protocol could be extended to support user
|
|
specific session busses (like already done with the amarok bundled dbus which use a
|
|
shared memory area named "DBusDaemonAddressInfo:<username>".
|
|
Also the dbus installer should start a session bus on user login.
|