26b48c4cd8
As mentioned in the previous commit, SOCK_DGRAM does not allow us to detect that the write has closed its ends of the socket pair. This patch switches to using SOCK_STREAM, which gives us that feature. pipe() would also have worked, but with SOCK_DGRAM less code needs to be changed and it is possible to switch back to SOCK_DGRAM (for experiments) via a define. The logic of processing data is different when in "streaming" mode: process() always fills the chunk of default size 1024 with as much data as possible, then processes it. For stdout this works well, because line breaks are preserved before feeding into the logging system. With stderr there's an increased risk that lines a split, but right now no code uses streaming mode for stderr, so that doesn't matter at all. |
||
---|---|---|
.. | ||
backends | ||
dbus | ||
gdbus | ||
gnome-bluetooth | ||
gtk-ui | ||
syncevo | ||
synthesis-includes | ||
templates | ||
.cvsignore | ||
async.patch | ||
client-test-app.cpp | ||
CmdlineSyncClient.cpp | ||
CmdlineSyncClient.h | ||
Makefile-gen.am | ||
org.syncevolution.service.in | ||
README.h | ||
README.templates | ||
shlibs.local | ||
syncevo-dbus-server-startup.sh.in | ||
syncevo-dbus-server.cpp | ||
syncevo-dbus-server.desktop.in | ||
syncevolution.cpp | ||
valgrind.supp |
The configuration templates in "templates" get installed into $(datadir)/syncevolution/templates. When adding/changing a new server, then only enter the properties which need to be changed here so that the default values can be used for the remaining properties. An icon can be added here for servers. The file name must start with "icon". Server configurations must be kept in sync in three different places: - here (if a server is installed as files) - in SyncEvolutionConfig.cpp's EvolutionSyncConfig::createServerTemplate() - in SyncEvolutionCmdline.cpp's test server configs - in test/test-dbus.py testGetConfigsTemplates() Note that server icons must come with a suitable license that allows redistribution.