| ----------------------------------------- |
| 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. |