[packages/libopensync-plugin-palm] - up to 0.36, patched for libopensync 0.39
qboosh
qboosh at pld-linux.org
Fri Sep 12 22:04:19 CEST 2025
commit 99d74de7cb124987a2695cab320e64a57d877ec9
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Fri Sep 12 22:07:13 2025 +0200
- up to 0.36, patched for libopensync 0.39
libopensync-plugin-palm-libopensync0.39.patch | 572 ++++++++++++++++++++++++++
libopensync-plugin-palm.spec | 40 +-
2 files changed, 594 insertions(+), 18 deletions(-)
---
diff --git a/libopensync-plugin-palm.spec b/libopensync-plugin-palm.spec
index 9f4cf34..aa525ec 100644
--- a/libopensync-plugin-palm.spec
+++ b/libopensync-plugin-palm.spec
@@ -1,18 +1,25 @@
Summary: OpenSync Plugin for palm
Summary(pl.UTF-8): Wtyczka palm do OpenSync
Name: libopensync-plugin-palm
-Version: 0.22
+Version: 0.36
Release: 1
License: LGPL v2.1+
Group: Libraries
-Source0: http://www.opensync.org/attachment/wiki/download/%{name}-%{version}.tar.bz2?format=raw
-# Source0-md5: 0c85fe8439856d7b38b3d10e183acf8f
-URL: http://www.opensync.org/
+# originally http://www.opensync.org/attachment/wiki/download/%{name}-%{version}.tar.bz2?format=raw
+# restored from http://ftp.iij.ad.jp/pub/linux/momonga/5/Everything/SOURCES/libopensync-plugin-palm-0.36.tar.bz2
+Source0: %{name}-%{version}.tar.bz2
+# Source0-md5: ee05ffadee75094d78a15e2704f5e64f
+Patch0: %{name}-libopensync0.39.patch
+# dead domain
+#URL: http://www.opensync.org/
+BuildRequires: cmake
BuildRequires: glib2-devel >= 2.0
-BuildRequires: libopensync-devel >= %{version}
+BuildRequires: libopensync-devel >= 1:0.39
BuildRequires: libxml2-devel >= 2.0
BuildRequires: pilot-link-devel >= 0.11.8
BuildRequires: pkgconfig
+BuildRequires: rpmbuild(macros) >= 1.605
+Requires: libopensync >= 1:0.39
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
@@ -25,30 +32,27 @@ pilot-link libpisock.
%prep
%setup -q
+%patch -P0 -p1
%build
-%configure
+install -d build
+cd build
+%cmake ..
+
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-%{__make} install \
+%{__make} -C build install \
DESTDIR=$RPM_BUILD_ROOT
-rm -f $RPM_BUILD_ROOT%{_libdir}/opensync/{plugins,formats}/*.la
-# no -devel yet
-rm -rf $RPM_BUILD_ROOT/usr/include/opensync-1.0
-
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc AUTHORS ChangeLog README
-%attr(755,root,root) %{_libdir}/opensync/plugins/palm_sync.so
-%attr(755,root,root) %{_libdir}/opensync/formats/palm.so
-%{_datadir}/opensync/defaults/palm-sync
-
-# devel
-#%{_includedir}/opensync-1.0/opensync/palm_*.h
+%doc AUTHORS README
+%attr(755,root,root) %{_libdir}/libopensync1/formats/palm-format.so
+%attr(755,root,root) %{_libdir}/libopensync1/plugins/palm-sync.so
+%{_datadir}/libopensync1/defaults/palm-sync
diff --git a/libopensync-plugin-palm-libopensync0.39.patch b/libopensync-plugin-palm-libopensync0.39.patch
new file mode 100644
index 0000000..7e9d8f7
--- /dev/null
+++ b/libopensync-plugin-palm-libopensync0.39.patch
@@ -0,0 +1,572 @@
+--- libopensync-plugin-palm-0.36/cmake/modules/FindOpenSync.cmake.orig 2008-01-26 18:03:11.000000000 +0100
++++ libopensync-plugin-palm-0.36/cmake/modules/FindOpenSync.cmake 2025-09-11 21:07:15.098511395 +0200
+@@ -13,7 +13,7 @@
+ # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+ #
+
+-# Take care about opensync-1.0.pc settings
++# Take care about libopensync.pc settings
+ INCLUDE( FindPkgConfig )
+
+ IF ( OpenSync_FIND_REQUIRED )
+@@ -23,15 +23,15 @@ ELSE( OpenSync_FIND_REQUIRED )
+ ENDIF ( OpenSync_FIND_REQUIRED )
+
+ IF ( OPENSYNC_MIN_VERSION )
+- PKG_SEARCH_MODULE( OPENSYNC ${_pkgconfig_REQUIRED} opensync-1.0>=${OPENSYNC_MIN_VERSION} )
++ PKG_SEARCH_MODULE( OPENSYNC ${_pkgconfig_REQUIRED} libopensync>=${OPENSYNC_MIN_VERSION} )
+ ELSE ( OPENSYNC_MIN_VERSION )
+- PKG_SEARCH_MODULE( OPENSYNC ${_pkgconfig_REQUIRED} opensync-1.0 )
++ PKG_SEARCH_MODULE( OPENSYNC ${_pkgconfig_REQUIRED} libopensync )
+ ENDIF ( OPENSYNC_MIN_VERSION )
+
+ FIND_PROGRAM( PKGCONFIG_EXECUTABLE NAMES pkg-config )
+
+ IF ( PKGCONFIG_EXECUTABLE )
+- EXEC_PROGRAM( ${PKGCONFIG_EXECUTABLE} ARGS opensync-1.0 --variable=datadir OUTPUT_VARIABLE _opensync_data_DIR )
++ EXEC_PROGRAM( ${PKGCONFIG_EXECUTABLE} ARGS libopensync --variable=datadir OUTPUT_VARIABLE _opensync_data_DIR )
+ STRING( REGEX REPLACE "[\r\n]" " " _opensync_data_DIR "${_opensync_data_DIR}" )
+ ENDIF ( PKGCONFIG_EXECUTABLE )
+
+@@ -47,7 +47,7 @@ ENDIF ( OPENSYNC_CMAKE_MODULES )
+ # Look for OpenSync include dir and libraries without pkg-config
+ IF( NOT OPENSYNC_FOUND AND NOT PKG_CONFIG_FOUND )
+ # Fallback if pkg-config doesn't exist
+- FIND_PATH( OPENSYNC_INCLUDE_DIRS opensync/opensync.h PATH_SUFFIXES opensync-1.0
++ FIND_PATH( OPENSYNC_INCLUDE_DIRS opensync/opensync.h PATH_SUFFIXES libopensync1
+ PATHS
+ /opt/local/include/
+ /sw/include/
+--- libopensync-plugin-palm-0.36/src/palm_sync.h.orig 2008-01-26 18:03:11.000000000 +0100
++++ libopensync-plugin-palm-0.36/src/palm_sync.h 2025-09-12 21:45:22.831382038 +0200
+@@ -121,8 +121,8 @@ osync_bool psyncDBAdd(PSyncDatabase *db,
+ osync_bool psyncDBDelete(PSyncDatabase *db, int id, OSyncError **error);
+ PSyncEntry *psyncDBGetEntryByID(PSyncDatabase *db, unsigned long id, OSyncError **error);
+
+-void psyncConnect(void *data, OSyncPluginInfo *info, OSyncContext *ctx);
+-void psyncDisconnect(void *data, OSyncPluginInfo *info, OSyncContext *ctx);
+-void psyncSyncDone(void *data, OSyncPluginInfo *info, OSyncContext *ctx);
++void psyncConnect(OSyncObjTypeSink *sink, OSyncPluginInfo *info, OSyncContext *ctx, void *data);
++void psyncDisconnect(OSyncObjTypeSink *sink, OSyncPluginInfo *info, OSyncContext *ctx, void *data);
++void psyncSyncDone(OSyncObjTypeSink *sink, OSyncPluginInfo *info, OSyncContext *ctx, void *data);
+
+ #endif //_PALM_SYNC_H
+--- libopensync-plugin-palm-0.36/src/palm_sync.c.orig 2008-01-26 18:03:11.000000000 +0100
++++ libopensync-plugin-palm-0.36/src/palm_sync.c 2025-09-12 21:45:13.021435183 +0200
+@@ -20,11 +20,11 @@
+
+ #include "palm_sync.h"
+ #include "palm_format.h"
++#include "palm_contact.h"
+
+ #include <opensync/opensync-data.h>
+ #include <opensync/opensync-format.h>
+ #include <opensync/opensync-plugin.h>
+-#include <opensync/opensync-context.h>
+
+ #define CATCOUNT 16
+
+@@ -556,11 +556,9 @@ static void psyncThreadStart(PSyncEnv *e
+ osync_trace(TRACE_EXIT, "%s", __func__);
+ }
+
+-static osync_bool psyncSettingsParse(PSyncEnv *env, const char *config, OSyncError **error)
++static osync_bool psyncSettingsParse(PSyncEnv *env, OSyncPluginConfig *config, OSyncError **error)
+ {
+- osync_trace(TRACE_ENTRY, "%s(%p, %s, %p)", __func__, env, config ? config : "nil", error);
+- xmlDoc *doc = NULL;
+- xmlNode *cur = NULL;
++ osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, env, config, error);
+
+ //set defaults
+ env->sockaddr = g_strdup("/dev/pilot");
+@@ -573,55 +571,33 @@ static osync_bool psyncSettingsParse(PSy
+ env->mismatch = 1;
+ env->popup = 0;
+
+- doc = xmlParseMemory(config, strlen(config));
+-
+- if (!doc) {
+- osync_error_set(error, OSYNC_ERROR_GENERIC, "Unable to parse settings");
+- goto error;
+- }
+-
+- cur = xmlDocGetRootElement(doc);
+-
+- if (!cur) {
+- osync_error_set(error, OSYNC_ERROR_GENERIC, "Unable to get root element of the settings");
+- goto error_free_doc;
+- }
+-
+- if (xmlStrcmp(cur->name, (xmlChar*)"config")) {
+- osync_error_set(error, OSYNC_ERROR_GENERIC, "Config valid is not valid");
+- goto error_free_doc;
+- }
+-
+- cur = cur->xmlChildrenNode;
+-
+- while (cur != NULL) {
+- char *str = (char *)xmlNodeGetContent(cur);
+- if (str) {
+- if (!xmlStrcmp(cur->name, (const xmlChar *)"sockaddr")) {
+- g_free(env->sockaddr);
+- env->sockaddr = g_strdup(str);
+- } else if (!xmlStrcmp(cur->name, (const xmlChar *)"username")) {
+- g_free(env->username);
+- env->username = g_strdup(str);
+- } else if (!xmlStrcmp(cur->name, (const xmlChar *)"codepage")) {
+- g_free(env->codepage);
+- env->codepage = g_strdup(str);
+- } else if (!xmlStrcmp(cur->name, (const xmlChar *)"timeout")) {
+- env->timeout = atoi(str);
+- } else if (!xmlStrcmp(cur->name, (const xmlChar *)"type")) {
+- env->conntype = atoi(str);
+- } else if (!xmlStrcmp(cur->name, (const xmlChar *)"speed")) {
+- env->speed = atoi(str);
+- } else if (!xmlStrcmp(cur->name, (const xmlChar *)"id")) {
+- env->id = atoi(str);
+- } else if (!xmlStrcmp(cur->name, (const xmlChar *)"popup")) {
+- env->popup = atoi(str);
+- } else if (!xmlStrcmp(cur->name, (const xmlChar *)"mismatch")) {
+- env->mismatch = atoi(str);
+- }
+- xmlFree(str);
++ OSyncList *optslist = osync_plugin_config_get_advancedoptions(config);
++ for (; optslist; optslist = optslist->next) {
++ OSyncPluginAdvancedOption *option = optslist->data;
++ const char *name = osync_plugin_advancedoption_get_name(option);
++ const char *value = osync_plugin_advancedoption_get_value(option);
++ if (!strcmp(name, "sockaddr")) {
++ g_free(env->sockaddr);
++ env->sockaddr = g_strdup(value);
++ } else if (!strcmp(name, "username")) {
++ g_free(env->username);
++ env->username = g_strdup(value);
++ } else if (!strcmp(name, "codepage")) {
++ g_free(env->codepage);
++ env->codepage = g_strdup(value);
++ } else if (!strcmp(name, "timeout")) {
++ env->timeout = atoi(value);
++ } else if (!strcmp(name, "type")) {
++ env->conntype = atoi(value);
++ } else if (!strcmp(name, "speed")) {
++ env->speed = atoi(value);
++ } else if (!strcmp(name, "id")) {
++ env->id = atoi(value);
++ } else if (!strcmp(name, "popup")) {
++ env->popup = atoi(value);
++ } else if (!strcmp(name, "mismatch")) {
++ env->mismatch = atoi(value);
+ }
+- cur = cur->next;
+ }
+
+ if (env->conntype == PILOT_DEVICE_NETWORK) {
+@@ -630,15 +606,8 @@ static osync_bool psyncSettingsParse(PSy
+ env->sockaddr = "net:any";
+ }
+
+- xmlFreeDoc(doc);
+ osync_trace(TRACE_EXIT, "%s", __func__);
+ return TRUE;
+-
+-error_free_doc:
+- xmlFreeDoc(doc);
+-error:
+- osync_trace(TRACE_EXIT_ERROR, "%s: %s", __func__, osync_error_print(error) ? osync_error_print(error) : "nil");
+- return FALSE;
+ }
+
+ unsigned long psyncUidGetID(const char *uid, OSyncError **error)
+@@ -655,7 +624,7 @@ unsigned long psyncUidGetID(const char *
+ return id;
+ }
+
+-void psyncConnect(void *data, OSyncPluginInfo *info, OSyncContext *ctx)
++void psyncConnect(OSyncObjTypeSink *sink, OSyncPluginInfo *info, OSyncContext *ctx, void *data)
+ {
+ OSyncError *error = NULL;
+
+@@ -726,7 +695,7 @@ error:
+ osync_trace(TRACE_EXIT_ERROR, "%s: %s", __func__, osync_error_print(&error) ? osync_error_print(&error) : "nil");
+ }
+
+-void psyncSyncDone(void *data, OSyncPluginInfo *info, OSyncContext *ctx)
++void psyncSyncDone(OSyncObjTypeSink *sink, OSyncPluginInfo *info, OSyncContext *ctx, void *data)
+ {
+ osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, data, info, ctx);
+ PSyncEnv *env = (PSyncEnv *)data;
+@@ -748,7 +717,7 @@ void psyncSyncDone(void *data, OSyncPlug
+ osync_trace(TRACE_EXIT, "%s", __func__);
+ }
+
+-void psyncDisconnect(void *data, OSyncPluginInfo *info, OSyncContext *ctx)
++void psyncDisconnect(OSyncObjTypeSink *sink, OSyncPluginInfo *info, OSyncContext *ctx, void *data)
+ {
+ osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, data, info, ctx);
+ PSyncEnv *env = (PSyncEnv *)data;
+@@ -833,7 +802,7 @@ static void psyncFinalize(void *data)
+ osync_trace(TRACE_EXIT, "%s", __func__);
+ }
+
+-static osync_bool psyncDiscover(void *data, OSyncPluginInfo *info, OSyncError **error)
++static osync_bool psyncDiscover(OSyncPluginInfo *info, void *data, OSyncError **error)
+ {
+ osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, data, info, error);
+ PSyncEnv *env = (PSyncEnv *)data;
+@@ -847,6 +816,7 @@ static osync_bool psyncDiscover(void *da
+ osync_bool get_sync_info(OSyncPluginEnv *env, OSyncError **error)
+ {
+ OSyncPlugin *plugin = osync_plugin_new(error);
++
+ if (!plugin)
+ goto error;
+
+@@ -858,7 +828,7 @@ osync_bool get_sync_info(OSyncPluginEnv
+ osync_plugin_set_finalize(plugin, psyncFinalize);
+ osync_plugin_set_discover(plugin, psyncDiscover);
+
+- osync_plugin_env_register_plugin(env, plugin);
++ osync_plugin_env_register_plugin(env, plugin, error);
+ osync_plugin_unref(plugin);
+
+ return TRUE;
+--- libopensync-plugin-palm-0.36/src/palm_contact.c.orig 2008-01-26 18:03:11.000000000 +0100
++++ libopensync-plugin-palm-0.36/src/palm_contact.c 2025-09-12 21:41:10.469415866 +0200
+@@ -24,7 +24,6 @@
+ #include <opensync/opensync-data.h>
+ #include <opensync/opensync-format.h>
+ #include <opensync/opensync-plugin.h>
+-#include <opensync/opensync-context.h>
+
+ static OSyncChange *psyncContactCreate(PSyncEnv *env, PSyncEntry *entry, OSyncError **error)
+ {
+@@ -86,7 +85,7 @@ error:
+ return NULL;
+ }
+
+-static void psyncContactGetChanges(void *data, OSyncPluginInfo *info, OSyncContext *ctx)
++static void psyncContactGetChanges(OSyncObjTypeSink *sink, OSyncPluginInfo *info, OSyncContext *ctx, osync_bool slow_sync, void *data)
+ {
+ OSyncError *error = NULL;
+ PSyncEnv *env = (PSyncEnv *)data;
+@@ -94,7 +93,6 @@ static void psyncContactGetChanges(void
+ PSyncEntry *entry = NULL;
+
+ osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, data, info, ctx);
+- OSyncObjTypeSink *sink = osync_plugin_info_get_sink(info);
+
+ osync_trace(TRACE_INTERNAL, "Opening conduit");
+ dlp_OpenConduit(env->socket);
+@@ -102,7 +100,7 @@ static void psyncContactGetChanges(void
+ if (!(db = psyncDBOpen(env, "AddressDB", &error)))
+ goto error;
+
+- if (osync_objtype_sink_get_slowsync(sink) == TRUE) {
++ if (slow_sync) {
+ osync_trace(TRACE_INTERNAL, "slow sync");
+
+ int n;
+@@ -169,7 +167,7 @@ error:
+ } else {*/
+
+
+-static void psyncContactCommit(void *data, OSyncPluginInfo *info, OSyncContext *ctx, OSyncChange *change)
++static void psyncContactCommit(OSyncObjTypeSink *sink, OSyncPluginInfo *info, OSyncContext *ctx, OSyncChange *change, void *data)
+ {
+ osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %p)", __func__, data, info, ctx, change);
+ PSyncEnv *env = (PSyncEnv *)data;
+@@ -292,7 +290,7 @@ error:
+ osync_error_unref(&error);
+ }
+
+-static void psyncContactSyncDone(void *data, OSyncPluginInfo *info, OSyncContext *ctx)
++static void psyncContactSyncDone(OSyncObjTypeSink *sink, OSyncPluginInfo *info, OSyncContext *ctx, void *data)
+ {
+ osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, data, info, ctx);
+ PSyncEnv *env = (PSyncEnv *)data;
+@@ -327,19 +325,15 @@ osync_bool psyncContactInitialize(PSyncE
+ if (!env->contact_sink)
+ return FALSE;
+
+- osync_objtype_sink_add_objformat(env->contact_sink, "palm-contact");
+-
+- OSyncObjTypeSinkFunctions functions;
+- memset(&functions, 0, sizeof(functions));
+- functions.connect= psyncConnect;
+- functions.disconnect= psyncDisconnect;
+- functions.get_changes = psyncContactGetChanges;
+- functions.commit = psyncContactCommit;
+- functions.sync_done = psyncContactSyncDone;
++ osync_objtype_sink_set_userdata(env->contact_sink, env);
++ osync_objtype_sink_set_connect_func(env->contact_sink, psyncConnect);
++ osync_objtype_sink_set_disconnect_func(env->contact_sink, psyncDisconnect);
++ osync_objtype_sink_set_get_changes_func(env->contact_sink, psyncContactGetChanges);
++ osync_objtype_sink_set_commit_func(env->contact_sink, psyncContactCommit);
++ osync_objtype_sink_set_sync_done_func(env->contact_sink, psyncContactSyncDone);
+
+ /* We pass the OSyncFileDir object to the sink, so we dont have to look it up
+ * again once the functions are called */
+- osync_objtype_sink_set_functions(env->contact_sink, functions, NULL);
+ osync_plugin_info_add_objtype(info, env->contact_sink);
+
+ return TRUE;
+--- libopensync-plugin-palm-0.36/src/palm_format.c.orig 2008-01-26 18:03:11.000000000 +0100
++++ libopensync-plugin-palm-0.36/src/palm_format.c 2025-09-12 22:02:35.075789889 +0200
+@@ -23,8 +23,9 @@
+
+ #include <opensync/opensync-time.h>
+ #include <opensync/opensync-format.h>
+-#include <opensync/opensync-merger.h>
++#include <opensync/opensync-capabilities.h>
+ #include <opensync/opensync-serializer.h>
++#include <opensync/opensync-xmlformat.h>
+
+ static char *conv_enc_palm_to_xml(const char *text) {
+ char *ret;
+@@ -1420,31 +1421,31 @@ static osync_bool _palmcontact_address(O
+
+ //Street
+ if (tmp_address) {
+- osync_xmlfield_set_key_value(xmlfield, "Street", tmp_address);
++ osync_xmlfield_set_key_value(xmlfield, "Street", tmp_address, error);
+ g_free(tmp_address);
+ }
+
+ //City
+ if (tmp_city) {
+- osync_xmlfield_set_key_value(xmlfield, "City", tmp_city);
++ osync_xmlfield_set_key_value(xmlfield, "City", tmp_city, error);
+ g_free(tmp_city);
+ }
+
+ //Region
+ if (tmp_state) {
+- osync_xmlfield_set_key_value(xmlfield, "Region", tmp_state);
++ osync_xmlfield_set_key_value(xmlfield, "Region", tmp_state, error);
+ g_free(tmp_state);
+ }
+
+ //Code
+ if (tmp_zip) {
+- osync_xmlfield_set_key_value(xmlfield, "PostalCode", tmp_zip);
++ osync_xmlfield_set_key_value(xmlfield, "PostalCode", tmp_zip, error);
+ g_free(tmp_zip);
+ }
+
+ //Country
+ if (tmp_country) {
+- osync_xmlfield_set_key_value(xmlfield, "Country", tmp_country);
++ osync_xmlfield_set_key_value(xmlfield, "Country", tmp_country, error);
+ g_free(tmp_country);
+ }
+
+@@ -1465,13 +1466,13 @@ static osync_bool _palmcontact_name(OSyn
+
+ //First Name
+ if (tmp_first) {
+- osync_xmlfield_set_key_value(xmlfield, "FirstName", tmp_first);
++ osync_xmlfield_set_key_value(xmlfield, "FirstName", tmp_first, error);
+ g_free(tmp_first);
+ }
+
+ //Last Name
+ if (tmp_last) {
+- osync_xmlfield_set_key_value(xmlfield, "LastName", tmp_last);
++ osync_xmlfield_set_key_value(xmlfield, "LastName", tmp_last, error);
+ g_free(tmp_last);
+ }
+
+@@ -1490,7 +1491,7 @@ static osync_bool _palmcontact_organizat
+ if (!xmlfield)
+ return FALSE;
+
+- osync_xmlfield_set_key_value(xmlfield, "Name", tmp);
++ osync_xmlfield_set_key_value(xmlfield, "Name", tmp, error);
+ g_free(tmp);
+
+ return TRUE;
+@@ -1518,7 +1519,7 @@ static osync_bool _palmcontact_telephone
+ if (!xmlfield)
+ return FALSE;
+
+- osync_xmlfield_set_key_value(xmlfield, "Content", tmp);
++ osync_xmlfield_set_key_value(xmlfield, "Content", tmp, error);
+ g_free(tmp);
+
+ switch (entry->address.phoneLabel[i - 3]) {
+@@ -1570,7 +1571,7 @@ static osync_bool _palmcontact_title(OSy
+ if (!xmlfield)
+ return FALSE;
+
+- osync_xmlfield_set_key_value(xmlfield, "Content", tmp);
++ osync_xmlfield_set_key_value(xmlfield, "Content", tmp, error);
+ g_free(tmp);
+
+ return TRUE;
+@@ -1589,7 +1590,7 @@ static osync_bool _palmcontact_note(OSyn
+ if (!xmlfield)
+ return FALSE;
+
+- osync_xmlfield_set_key_value(xmlfield, "Content", tmp);
++ osync_xmlfield_set_key_value(xmlfield, "Content", tmp, error);
+ g_free(tmp);
+
+ return TRUE;
+@@ -1609,14 +1610,14 @@ static osync_bool _palmcontact_categorie
+ return FALSE;
+
+ char *tmp = conv_enc_palm_to_xml((char *) c->data);
+- osync_xmlfield_set_key_value(xmlfield, "Category", tmp);
++ osync_xmlfield_set_key_value(xmlfield, "Category", tmp, error);
+ g_free(tmp);
+ }
+
+ return TRUE;
+ }
+
+-static osync_bool conv_palm_contact_to_xml(char *input, unsigned int inpsize, char **output, unsigned int *outpsize, osync_bool *free_input, const char *config, OSyncError **error)
++static osync_bool conv_palm_contact_to_xml(char *input, unsigned int inpsize, char **output, unsigned int *outpsize, osync_bool *free_input, const char *config, void *userdata, OSyncError **error)
+ {
+ osync_trace(TRACE_ENTRY, "%s(%p, %i, %p, %p, %p, %s, %p)", __func__, input, inpsize, output, outpsize, free_input, config ? config : "nil", error);
+
+@@ -1672,14 +1673,16 @@ static osync_bool conv_palm_contact_to_x
+
+ unsigned int size;
+ char *str;
+- osync_xmlformat_assemble(xmlformat, &str, &size);
++ osync_xmlformat_assemble(xmlformat, &str, &size, error);
+ osync_trace(TRACE_SENSITIVE, "Output XMLFormat is:\n%s", str);
+ g_free(str);
+
++ /* replacement?
+ if (osync_xmlformat_validate(xmlformat) == FALSE)
+ osync_trace(TRACE_INTERNAL, "XMLFORMAT CONTACT: Not valid!");
+ else
+ osync_trace(TRACE_INTERNAL, "XMLFORMAT CONTACT: VAILD");
++ */
+
+
+ osync_trace(TRACE_EXIT, "%s", __func__);
+@@ -1764,14 +1767,14 @@ static void _xmlfield_category(PSyncCont
+ }
+ }
+
+-static osync_bool conv_xml_to_palm_contact(char *input, unsigned int inpsize, char **output, unsigned int *outpsize, osync_bool *free_input, const char *config, OSyncError **error)
++static osync_bool conv_xml_to_palm_contact(char *input, unsigned int inpsize, char **output, unsigned int *outpsize, osync_bool *free_input, const char *config, void *userdata, OSyncError **error)
+ {
+ osync_trace(TRACE_ENTRY, "%s(%p, %i, %p, %p, %p, %s, %p)", __func__, input, inpsize, output, outpsize, free_input, config ? config : "nil", error);
+
+ OSyncXMLFormat *xmlformat = (OSyncXMLFormat *)input;
+ unsigned int size;
+ char *str;
+- osync_xmlformat_assemble(xmlformat, &str, &size);
++ osync_xmlformat_assemble(xmlformat, &str, &size, error);
+ osync_trace(TRACE_SENSITIVE, "Input XMLFormat is:\n%s", str);
+ g_free(str);
+
+@@ -1856,7 +1859,7 @@ error:
+ return FALSE;
+ }
+
+-static void destroy_palm_contact(char *input, unsigned int inpsize)
++static osync_bool destroy_palm_contact(char *input, unsigned int inpsize, void *userdata, OSyncError **error)
+ {
+ osync_trace(TRACE_ENTRY, "%s(%p, %i)", __func__, input, inpsize);
+ PSyncContactEntry *entry = (PSyncContactEntry *)input;
+@@ -1880,56 +1883,57 @@ static void destroy_palm_contact(char *i
+ g_free(entry);
+
+ osync_trace(TRACE_EXIT, "%s", __func__);
++ return TRUE;
+ }
+
+-static osync_bool marshal_palm_contact(const char *input, unsigned int inpsize, OSyncMessage *message, OSyncError **error)
++static osync_bool marshal_palm_contact(const char *input, unsigned int inpsize, OSyncMarshal *message, void *userdata, OSyncError **error)
+ {
+ osync_trace(TRACE_ENTRY, "%s(%p, %i, %p, %p)", __func__, input, inpsize, message, error);
+ g_assert(inpsize == sizeof(PSyncContactEntry));
+
+ PSyncContactEntry *contact = (PSyncContactEntry*)input;
+
+- osync_message_write_buffer(message, &(contact), sizeof(PSyncContactEntry));
+- osync_message_write_string(message, contact->codepage);
++ osync_marshal_write_buffer(message, &(contact), sizeof(PSyncContactEntry), error);
++ osync_marshal_write_string(message, contact->codepage, error);
+
+ int i = 0;
+ for (i = 0; i < 19; i++) {
+- osync_message_write_string(message, contact->address.entry[i]);
++ osync_marshal_write_string(message, contact->address.entry[i], error);
+ }
+
+- osync_message_write_int(message, g_list_length(contact->categories));
++ osync_marshal_write_int(message, g_list_length(contact->categories), error);
+ GList *c = NULL;
+ for (c = contact->categories; c; c = c->next) {
+- osync_message_write_string(message, (char *)c->data);
++ osync_marshal_write_string(message, (char *)c->data, error);
+ }
+
+ osync_trace(TRACE_EXIT, "%s", __func__);
+ return TRUE;
+ }
+
+-static osync_bool demarshal_palm_contact(OSyncMessage *message, char **output, unsigned int *outpsize, OSyncError **error)
++static osync_bool demarshal_palm_contact(OSyncMarshal *message, char **output, unsigned int *outpsize, void *userdata, OSyncError **error)
+ {
+ osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %p)", __func__, message, output, outpsize, error);
+
+ void *buffer = NULL;
+ int size = 0;
+- osync_message_read_buffer(message, &(buffer), &size);
++ osync_marshal_read_buffer(message, &(buffer), &size, error);
+ PSyncContactEntry *contact = buffer;
+- osync_message_read_string(message, &(contact->codepage));
++ osync_marshal_read_string(message, &(contact->codepage), error);
+
+ int i = 0;
+ for (i = 0; i < 19; i++) {
+- osync_message_read_string(message, &(contact->address.entry[i]));
++ osync_marshal_read_string(message, &(contact->address.entry[i]), error);
+ osync_trace(TRACE_INTERNAL, "#%i message: %s", i, contact->address.entry[i]);
+ }
+
+ int num = 0;
+- osync_message_read_int(message, &num);
++ osync_marshal_read_int(message, &num, error);
+
+ char *category = NULL;
+ contact->categories = NULL;
+ for (i = 0; i < num; i++) {
+- osync_message_read_string(message, &category);
++ osync_marshal_read_string(message, &category, error);
+ contact->categories = g_list_append(contact->categories, category);
+ }
+
+@@ -2255,7 +2259,7 @@ osync_bool get_format_info(OSyncFormatEn
+ osync_objformat_set_marshal_func(format, marshal_palm_contact);
+ osync_objformat_set_demarshal_func(format, demarshal_palm_contact);
+
+- osync_format_env_register_objformat(env, format);
++ osync_format_env_register_objformat(env, format, error);
+ osync_objformat_unref(format);
+ return TRUE;
+ }
+@@ -2278,14 +2282,14 @@ osync_bool get_conversion_info(OSyncForm
+ if (!conv)
+ return FALSE;
+
+- osync_format_env_register_converter(env, conv);
++ osync_format_env_register_converter(env, conv, error);
+ osync_converter_unref(conv);
+
+ conv = osync_converter_new(OSYNC_CONVERTER_CONV, xmlContact, palmContact, conv_xml_to_palm_contact, error);
+ if (!conv)
+ return FALSE;
+
+- osync_format_env_register_converter(env, conv);
++ osync_format_env_register_converter(env, conv, error);
+ osync_converter_unref(conv);
+ return TRUE;
+ }
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/libopensync-plugin-palm.git/commitdiff/99d74de7cb124987a2695cab320e64a57d877ec9
More information about the pld-cvs-commit
mailing list