111 lines
4 KiB
Text
111 lines
4 KiB
Text
-----------------------------------------
|
|
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
|
|
-------------------
|
|
On windows Microsoft Visual Studio 2010 (Express and professional variants)
|
|
and mingw-w64|32 are known to work.
|
|
|
|
Building
|
|
--------
|
|
DBus can be built on windows using automake or cmake. See the
|
|
file README for more information.
|
|
Special cmake build instructions can be found in cmake/readme-cmake.txt
|
|
|
|
|
|
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
|
|
-----
|
|
- dbus library check
|
|
bin\dbus-test.exe <build-root>\test\data
|
|
|
|
- bus daemon check
|
|
bin\bus-test.exe <build-root>\test\data
|
|
|
|
- check available names
|
|
bin\test_names.exe
|
|
|
|
- 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 applicationa are running well.
|
|
|
|
|
|
TODO
|
|
----
|
|
|
|
Oktober 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.
|