diff options
Diffstat (limited to 'README')
-rw-r--r-- | README | 48 |
1 files changed, 48 insertions, 0 deletions
@@ -0,0 +1,48 @@ | |||
1 | ## gnunet-dbus: A DBus proxy for GNUnet | ||
2 | |||
3 | # Purpose | ||
4 | |||
5 | The aim of this project is to make it easy to control GNUnet via DBus. Any | ||
6 | DBus-enabled piece of software should be able to use this to start/stop GNUnet | ||
7 | services, perform GNS lookups, download files etc. | ||
8 | |||
9 | # Installation | ||
10 | |||
11 | $ ./bootstrap | ||
12 | $ ./configure | ||
13 | $ make | ||
14 | $ make install | ||
15 | |||
16 | After that, you will need to relax the DBus permissions to allow gnunet-dbus to | ||
17 | use the system bus. On most Linux distros, copying src/etc/gnunet-dbus.conf to | ||
18 | /etc/dbus-1/system.d/ should do the trick. Otherwise, you can use that file for | ||
19 | guidance on how to setup permissions. | ||
20 | |||
21 | # Running | ||
22 | |||
23 | gnunet-dbus is not currently integrated with gnunet-arm or any init system so | ||
24 | you'll have to run the binaries manually. There is one gnunet-dbus executable | ||
25 | per GNUnet service. They are installed to $PREFIX/bin by default and have names | ||
26 | like gnunet-service-dht-dbus, gnunet-service-gns-dbus etc. | ||
27 | |||
28 | # Hacking | ||
29 | |||
30 | Contributions are welcome! | ||
31 | |||
32 | In the src/ directory you'll find the service/ and lib/ directories. service/ | ||
33 | contains the source for the service executables (gnunet-service-gns-dbus etc.). | ||
34 | lib/ contains all the source and headers for the gnunet-dbus libraries. | ||
35 | lib/common/ is probably the most interesting directory here as it contains the | ||
36 | bulk of the code for binding libdbus with GNUnet's event loop. The other | ||
37 | directories in lib/ mainly consist of code for serialising/deserialising types | ||
38 | from the various parts of GNUnet's API. | ||
39 | |||
40 | For learning how to use this library to write more service wrappers or extend | ||
41 | the existing ones it's probably easiest to read through existing code. The code | ||
42 | tries to be clear and logical and is very object-oriented. | ||
43 | gnunet-service-gns-dbus.c shows, for example, how to setup a dbus | ||
44 | service+object+interface+method for performing lookups and bind this DBus | ||
45 | method to an internal function which calls GNUNET_GNS_lookup. All types and | ||
46 | functions exposed by the library side of gnunet-dbus are documented in the | ||
47 | header files in src/lib/include | ||
48 | |||