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