1----------------------------------------- 2Windows port of the freedesktop.org D-Bus 3----------------------------------------- 4 5Features and completeness 6------------------------- 7The windows port of dbus provides the dbus-1 library and mostly 8applications which are already available on unix. These applications 9are: dbus-daemon, dbus-launch, dbus-monitor and dbus-send. 10DBus comes with a test suite which is used on unix to guarantate 11production quality and this test suite runs mostly. There are some 12test not running yet and there is help needed to get them running. 13 14Supported compilers 15------------------- 16On windows Microsoft Visual Studio 2010 (Express and professional variants) 17and mingw-w64|32 are known to work. 18 19Building 20-------- 21DBus can be built on windows using automake or cmake. See the 22file README for more information. 23Special cmake build instructions can be found in cmake/readme-cmake.txt 24 25 26windbus and dbus4win Ports 27-------------------------- 28The Windows ports from the windbus and dbus4win projects has been merged 29into the freedesktop git master branch, as applicable. The spec has been 30updated with windows specific stuff. 31 32 33Tests 34----- 35 - dbus library check 36 bin\dbus-test.exe <build-root>\test\data 37 38 - bus daemon check 39 bin\bus-test.exe <build-root>\test\data 40 41 - check available names 42 bin\test_names.exe 43 44 - check if dbus-daemon is accessable 45 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"] 46 47 - start session dbus-daemon 48 either by running 49 bin\dbus-launch 50 or 51 start bin\dbus-daemon --session 52 53 Before running these commands you may execute 54 set DBUS_VERBOSE=1 55 for getting debug infos 56 57 58 - call function registerd in dbus 59 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 60 61 note: When building with the Visual C++ IDE the *.exe files are in 62 the bin/Debug and bin/Release folder, not in the bin folder. 63 64 65FAQ 66--- 67 68- How far is WinDBus from being usable for production ? 69 70 dbus comes with a test suite which is used on unix to guarantate 71 production quality and this test suite runs mostly. There are some 72 test not running and we need help to get them running. 73 In the pratice I and some other people are using dbus for at least more 74 than four years in conjunction with kde on windows without any problems. 75 76- On UNIX D-Bus uses UNIX sockets to communicate (correct me if I'm wrong). 77 What is used on Windows ? 78 79 tcp sockets, there are some efforts to get named pipe running, but some 80 design problems of the win32 api, we are not able to solve without 81 bigger changes to the dbus code base let us stop this effort. 82 83- Do you have any clue if dbus-win32 can run in a Windows CE environment? 84 85 dbus has been ported to wince, see README.wince for more information 86 87- Do you know if the C++ binding made by OpenWengo will be easily portable to Windows? 88 89 The OpenWengo dbus-c++ binding has been ported to windows see in WinDBus svn 90 (http://sf.net/projects/windbus) 91 The related test applicationa are running well. 92 93 94TODO 95---- 96 97Oktober 2010: 98 99- the code wrapped with DBUS_WIN_FIXME should be inspected if it required for windows 100 101- create a dbus setup installer 102 103- implement system bus and system bus service starter 104 see http://windbus.svn.sourceforge.net/viewvc/windbus/trunk/bus/bus-service-win.c 105 for a starting point 106 107- implement a real login session bus 108 The scope parameter of the autolaunch meta protocol could be extended to support user 109 specific session busses (like already done with the amarok bundled dbus which use a 110 shared memory area named "DBusDaemonAddressInfo:<username>". 111 Also the dbus installer should start a session bus on user login. 112