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