355cb43814
Fallback to old obexd API was broken because creating the DBusRemoteObject does not verify whether the service really exists and thus always succeeds. Fixed by checking for existence as part of the actual CreateSession method call. The new code needs glib. Include header file and declare dependency in configure. The backend must throw errors when something fatal happens. Logging the error is not enough, because that can't be checked by the caller. Throwing errors is best done via the utility methods in SyncSource, because those include the source name in the exception. Memory handling was broken: nothing owned the memory in the StringPiece instances, munmap() was missing. Fixed by making PbabSyncSource the owner of both. Unified the parsing of the result. The new code based on pcrecpp is used for both old and new obexd API. File name and GError allocated by g_file_open_tmp() were leaked. The file descriptor and the file were leaked in case of aborting via an exception. Now these resources are owned by a class which will always clean up when getting destructed. A failed transfer was not checked for when using the new API. Probably failed when trying to use the file (because obexd deletes it), but better show the error message that we got for the failed transfer. Remove the obsolete vcardParse(). The backend is not useful for most users, therefore it has to be enable during compilation with --enable-pbap. The code for "PBAP disabled" had to be adapted to a backend API change. |
||
---|---|---|
.. | ||
backends | ||
dbus | ||
gdbus | ||
gdbusxx | ||
gnome-bluetooth | ||
gtk-ui | ||
gtk3-ui | ||
syncevo | ||
synthesis-includes | ||
templates | ||
async.patch | ||
client-test-app.cpp | ||
README.h | ||
README.templates | ||
shlibs.local | ||
src.am | ||
syncevo-local-sync.cpp | ||
syncevolution.cpp | ||
testcases.am | ||
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.