|
From: Chris F. <cd...@fo...> - 2009-11-13 21:42:11
|
Hi,
At long last, I present my long long patch, which also changes the various
ID variables into typedefs in the process. I think this makes the code
cleaner, and easier to change in the future. So even if we don't want
to change mappingids, memberids, etc to ints, we should keep the
typedefs in my opinion.
This is a Request for Comments patch only. If it is satisfactory, I
can apply it in a few days.
It is fairly large, but the changes are as limited in scope as possible.
Thanks,
- Chris
[PATCH] Removed all unnecessary long longs from IDs, and gave IDs typedef names
The new ID types are:
typedef int osync_memberid;
typedef int osync_mappingid;
typedef int osync_groupid;
typedef long long int osync_archiveid;
typedef long long int osync_messageid;
osync_archiveid is 64 bits because the ID is the row ID of the underlying
database. This must match the database used.
Note that there is a bug in the implementation where the above 64 bit
IDs are crammed into a 32 bit pointer on 32 bit systems. The
implementation should be fixed, not the size of the osync_archiveid.
Look for FIXME's in the code.
osync_messageid is 64 bits because 6 bytes are used for the time in
seconds and microseconds, and the lower 2 bytes are a random number,
to create a unique IPC message ID.
The other 3 IDs usually start at 1 or 0 and increment from there,
and int should be completely sufficient for them.
---
opensync/archive/opensync_archive.c | 51 +++++++++++---------
opensync/archive/opensync_archive_internals.h | 8 ++--
opensync/client/opensync_client.c | 4 +-
opensync/client/opensync_client_proxy.c | 6 +-
opensync/engine/opensync_engine.c | 10 ++--
opensync/engine/opensync_engine_private.h | 2 +-
opensync/engine/opensync_mapping_engine.c | 12 ++--
opensync/engine/opensync_mapping_engine.h | 2 +-
opensync/engine/opensync_obj_engine.c | 12 ++--
opensync/engine/opensync_sink_engine.c | 2 +-
opensync/group/opensync_group.c | 14 +++---
opensync/group/opensync_group.h | 6 +-
opensync/group/opensync_group_env.c | 8 ++--
opensync/group/opensync_group_env_private.h | 2 +-
opensync/group/opensync_group_internals.h | 2 +-
opensync/group/opensync_group_private.h | 2 +-
opensync/group/opensync_member.c | 4 +-
opensync/group/opensync_member.h | 2 +-
opensync/group/opensync_member_internals.h | 2 +-
opensync/ipc/opensync_message.c | 4 +-
opensync/ipc/opensync_message_internals.h | 4 +-
opensync/ipc/opensync_message_private.h | 2 +-
opensync/ipc/opensync_queue.c | 6 +-
opensync/ipc/opensync_queue_private.h | 4 +-
opensync/mapping/opensync_mapping.c | 6 +-
opensync/mapping/opensync_mapping.h | 6 +-
opensync/mapping/opensync_mapping_entry.c | 8 ++--
opensync/mapping/opensync_mapping_entry.h | 8 ++--
.../mapping/opensync_mapping_entry_internals.h | 6 +-
opensync/mapping/opensync_mapping_internals.h | 2 +-
opensync/mapping/opensync_mapping_table.c | 14 +++--
opensync/mapping/opensync_mapping_table.h | 4 +-
opensync/opensync.h | 5 ++
opensync/plugin/opensync_plugin_info_private.h | 2 +-
tests/archive-tests/check_archive.c | 8 ++--
tests/mock-plugin/mock_sync.c | 2 +-
wrapper/opensync-group.i | 4 +-
37 files changed, 129 insertions(+), 117 deletions(-)
diff --git a/opensync/archive/opensync_archive.c b/opensync/archive/opensync_archive.c
index d3fbe8a..16e0d87 100644
--- a/opensync/archive/opensync_archive.c
+++ b/opensync/archive/opensync_archive.c
@@ -204,12 +204,12 @@ void osync_archive_unref(OSyncArchive *archive)
}
}
-osync_bool osync_archive_save_data(OSyncArchive *archive, long long int id, const char *objtype, const char *data, unsigned int size, OSyncError **error)
+osync_bool osync_archive_save_data(OSyncArchive *archive, osync_mappingid id, const char *objtype, const char *data, unsigned int size, OSyncError **error)
{
char *query = NULL;
char *escaped_objtype = NULL;
- osync_trace(TRACE_ENTRY, "%s(%p, %lli, %s, %p, %u, %p)", __func__, archive, id, objtype, data, size, error);
+ osync_trace(TRACE_ENTRY, "%s(%p, %i, %s, %p, %u, %p)", __func__, archive, id, objtype, data, size, error);
osync_assert(archive);
osync_assert(data);
osync_assert(size);
@@ -219,7 +219,7 @@ osync_bool osync_archive_save_data(OSyncArchive *archive, long long int id, cons
// FIXME: Avoid subselect - this query needs up to 0.5s
escaped_objtype = osync_db_sql_escape(objtype);
- query = osync_strdup_printf("REPLACE INTO tbl_archive (objtype, mappingid, data) VALUES('%s', %lli, ?)", escaped_objtype, id);
+ query = osync_strdup_printf("REPLACE INTO tbl_archive (objtype, mappingid, data) VALUES('%s', %i, ?)", escaped_objtype, id);
osync_free(escaped_objtype);
escaped_objtype = NULL;
@@ -281,14 +281,14 @@ int osync_archive_load_data(OSyncArchive *archive, const char *uid, const char *
return -1;
}
-long long int osync_archive_save_change(OSyncArchive *archive, long long int id, const char *uid, const char *objtype, long long int mappingid, long long int memberid, const char *objengine, OSyncError **error)
+osync_archiveid osync_archive_save_change(OSyncArchive *archive, osync_archiveid id, const char *uid, const char *objtype, osync_mappingid mappingid, osync_memberid memberid, const char *objengine, OSyncError **error)
{
char *query = NULL;
char *escaped_uid = NULL;
char *escaped_objtype = NULL;
char *escaped_objengine = NULL;
- osync_trace(TRACE_ENTRY, "%s(%p, %lli, %s, %s, %lli, %lli, %p, %p)", __func__, archive, id, uid, objtype, mappingid, memberid, __NULLSTR(objengine), error);
+ osync_trace(TRACE_ENTRY, "%s(%p, %lli, %s, %s, %i, %i, %p, %p)", __func__, archive, id, uid, objtype, mappingid, memberid, __NULLSTR(objengine), error);
osync_assert(archive);
osync_assert(uid);
osync_assert(objtype);
@@ -302,9 +302,9 @@ long long int osync_archive_save_change(OSyncArchive *archive, long long int id,
escaped_objengine = osync_db_sql_escape(objengine);
if (!id) {
- query = osync_strdup_printf("INSERT INTO tbl_changes (objtype, uid, mappingid, memberid, objengine) VALUES('%s', '%s', '%lli', '%lli', '%s')", escaped_objtype, escaped_uid, mappingid, memberid, objengine);
+ query = osync_strdup_printf("INSERT INTO tbl_changes (objtype, uid, mappingid, memberid, objengine) VALUES('%s', '%s', '%i', '%i', '%s')", escaped_objtype, escaped_uid, mappingid, memberid, objengine);
} else {
- query = osync_strdup_printf("UPDATE tbl_changes SET uid='%s', mappingid='%lli', memberid='%lli', objengine='%s' WHERE objtype='%s' AND id=%lli", escaped_uid, mappingid, memberid, escaped_objengine, escaped_objtype, id);
+ query = osync_strdup_printf("UPDATE tbl_changes SET uid='%s', mappingid='%i', memberid='%i', objengine='%s' WHERE objtype='%s' AND id=%lli", escaped_uid, mappingid, memberid, escaped_objengine, escaped_objtype, id);
}
osync_free(escaped_objengine);
osync_free(escaped_objtype);
@@ -331,7 +331,7 @@ long long int osync_archive_save_change(OSyncArchive *archive, long long int id,
return 0;
}
-osync_bool osync_archive_delete_change(OSyncArchive *archive, long long int id, const char *objtype, OSyncError **error)
+osync_bool osync_archive_delete_change(OSyncArchive *archive, osync_archiveid id, const char *objtype, OSyncError **error)
{
char *query = NULL;
char *escaped_objtype = NULL;
@@ -366,7 +366,9 @@ osync_bool osync_archive_load_changes(OSyncArchive *archive, const char *objtype
char *query = NULL;
char *escaped_objtype = NULL;
OSyncList *result = NULL, *row = NULL, *column = NULL;
- long long int id = 0, mappingid = 0, memberid = 0;
+ osync_archiveid id = 0;
+ osync_mappingid mappingid = 0;
+ osync_memberid memberid = 0;
const char *uid = NULL;
const char *value_str = NULL;
@@ -420,21 +422,23 @@ osync_bool osync_archive_load_changes(OSyncArchive *archive, const char *objtype
osync_error_set(error, OSYNC_ERROR_GENERIC, "Database table tbl_changes corrupt, mappingid is NULL");
goto error;
}
- mappingid = g_ascii_strtoull(value_str, NULL, 0);
+ mappingid = strtoul(value_str, NULL, 0);
value_str = osync_list_nth_data(column, 3);
if (!value_str) {
osync_error_set(error, OSYNC_ERROR_GENERIC, "Database table tbl_changes corrupt, memberid is NULL");
goto error;
}
- memberid = g_ascii_strtoull(value_str, NULL, 0);
+ memberid = strtoul(value_str, NULL, 0);
+ // FIXME - this (int) cast throws away part of the id's 64 bits
+ // and these 64 bits are governed by the DB layer's row ID
*ids = osync_list_append((*ids), GINT_TO_POINTER((int)id));
*uids = osync_list_append((*uids), osync_strdup(uid));
- *mappingids = osync_list_append((*mappingids), GINT_TO_POINTER((int)mappingid));
- *memberids = osync_list_append((*memberids), GINT_TO_POINTER((int)memberid));
+ *mappingids = osync_list_append((*mappingids), GINT_TO_POINTER(mappingid));
+ *memberids = osync_list_append((*memberids), GINT_TO_POINTER(memberid));
- osync_trace(TRACE_INTERNAL, "Loaded change with uid %s, mappingid %lli from member %lli", uid, mappingid, memberid);
+ osync_trace(TRACE_INTERNAL, "Loaded change with uid %s, mappingid %i from member %i", uid, mappingid, memberid);
}
osync_db_free_list(result);
@@ -483,7 +487,8 @@ osync_bool osync_archive_load_ignored_conflicts(OSyncArchive *archive, const cha
OSyncList *result = NULL, *row = NULL, *column = NULL;
char *query = NULL;
char *escaped_objtype = NULL;
- long long int mappingid = 0, memberid = 0;
+ osync_mappingid mappingid = 0;
+ osync_memberid memberid = 0;
int changetype = 0;
osync_trace(TRACE_ENTRY, "%s(%p, %s, %p, %p)", __func__, archive, objtype, mappingids, error);
@@ -516,11 +521,11 @@ osync_bool osync_archive_load_ignored_conflicts(OSyncArchive *archive, const cha
mappingid = atoi(osync_list_nth_data(column, 1));
changetype = atoi(osync_list_nth_data(column, 2));
- *memberids = osync_list_append((*memberids), GINT_TO_POINTER((int)memberid));
- *mappingids = osync_list_append((*mappingids), GINT_TO_POINTER((int)mappingid));
- *changetypes = osync_list_append((*changetypes), GINT_TO_POINTER((int)changetype));
+ *memberids = osync_list_append((*memberids), GINT_TO_POINTER(memberid));
+ *mappingids = osync_list_append((*mappingids), GINT_TO_POINTER(mappingid));
+ *changetypes = osync_list_append((*changetypes), GINT_TO_POINTER(changetype));
- osync_trace(TRACE_INTERNAL, "Loaded ignored mapping with mappingid %lli", mappingid);
+ osync_trace(TRACE_INTERNAL, "Loaded ignored mapping with mappingid %i", mappingid);
}
osync_db_free_list(result);
@@ -532,11 +537,11 @@ osync_bool osync_archive_load_ignored_conflicts(OSyncArchive *archive, const cha
return FALSE;
}
-osync_bool osync_archive_save_ignored_conflict(OSyncArchive *archive, const char *objtype, long long int memberid, long long int mappingid, OSyncChangeType changetype, OSyncError **error)
+osync_bool osync_archive_save_ignored_conflict(OSyncArchive *archive, const char *objtype, osync_memberid memberid, osync_mappingid mappingid, OSyncChangeType changetype, OSyncError **error)
{
char *query = NULL;
char *escaped_objtype = NULL;
- osync_trace(TRACE_ENTRY, "%s(%p, %s, %lli, %lli, %p)", __func__, archive, objtype, memberid, mappingid, error);
+ osync_trace(TRACE_ENTRY, "%s(%p, %s, %i, %i, %p)", __func__, archive, objtype, memberid, mappingid, error);
osync_assert(archive);
osync_assert(objtype);
@@ -545,7 +550,7 @@ osync_bool osync_archive_save_ignored_conflict(OSyncArchive *archive, const char
goto error;
escaped_objtype = osync_db_sql_escape(objtype);
- query = osync_strdup_printf("INSERT INTO tbl_changelog (objtype, memberid, mappingid, changetype) VALUES('%s', '%lli', '%lli', '%i')", escaped_objtype, memberid, mappingid, changetype);
+ query = osync_strdup_printf("INSERT INTO tbl_changelog (objtype, memberid, mappingid, changetype) VALUES('%s', '%i', '%i', '%i')", escaped_objtype, memberid, mappingid, changetype);
osync_free(escaped_objtype);
escaped_objtype = NULL;
@@ -556,7 +561,7 @@ osync_bool osync_archive_save_ignored_conflict(OSyncArchive *archive, const char
osync_free(query);
- osync_trace(TRACE_EXIT, "%s: %lli", __func__, mappingid);
+ osync_trace(TRACE_EXIT, "%s: %i", __func__, mappingid);
return TRUE;
error:
diff --git a/opensync/archive/opensync_archive_internals.h b/opensync/archive/opensync_archive_internals.h
index 4757f88..56e8cf4 100644
--- a/opensync/archive/opensync_archive_internals.h
+++ b/opensync/archive/opensync_archive_internals.h
@@ -80,7 +80,7 @@ OSYNC_TEST_EXPORT osync_bool osync_archive_load_changes(OSyncArchive *archive, c
* @param error Pointer to an error struct
* @return Returns TRUE on success otherwise FALSE
*/
-OSYNC_TEST_EXPORT osync_bool osync_archive_save_data(OSyncArchive *archive, long long int id, const char *objtype, const char *data, unsigned int size, OSyncError **error);
+OSYNC_TEST_EXPORT osync_bool osync_archive_save_data(OSyncArchive *archive, osync_mappingid id, const char *objtype, const char *data, unsigned int size, OSyncError **error);
/**
* @brief Loads data of an entry which is stored in the group archive database (blob).
@@ -108,7 +108,7 @@ OSYNC_TEST_EXPORT int osync_archive_load_data(OSyncArchive *archive, const char
* @param error Pointer to an error struct
* @return Returns number of entries in archive group database. 0 on error.
*/
-OSYNC_TEST_EXPORT long long int osync_archive_save_change(OSyncArchive *archive, long long int id, const char *uid, const char *objtype, long long int mappingid, long long int memberid, const char *objengine, OSyncError **error);
+OSYNC_TEST_EXPORT osync_archiveid osync_archive_save_change(OSyncArchive *archive, osync_archiveid id, const char *uid, const char *objtype, osync_mappingid mappingid, osync_memberid memberid, const char *objengine, OSyncError **error);
/**
* @brief Deletes an entry from a group archive.
@@ -119,7 +119,7 @@ OSYNC_TEST_EXPORT long long int osync_archive_save_change(OSyncArchive *archive,
* @param error Pointer to an error struct
* @return TRUE if the specified change was deleted successfully, otherwise FALSE
*/
-osync_bool osync_archive_delete_change(OSyncArchive *archive, long long int id, const char *objtype, OSyncError **error);
+osync_bool osync_archive_delete_change(OSyncArchive *archive, osync_archiveid id, const char *objtype, OSyncError **error);
/**
* @brief Delete all changes from group archive for a certain object type.
@@ -155,7 +155,7 @@ osync_bool osync_archive_load_ignored_conflicts(OSyncArchive *archive, const cha
* @param error Pointer to an error struct
* @return Returns TRUE on success, FALSE otherwise
*/
-osync_bool osync_archive_save_ignored_conflict(OSyncArchive *archive, const char *objtype, long long int memberid, long long int mappingid, OSyncChangeType changetype, OSyncError **error);
+osync_bool osync_archive_save_ignored_conflict(OSyncArchive *archive, const char *objtype, osync_memberid memberid, osync_mappingid mappingid, OSyncChangeType changetype, OSyncError **error);
/**
* @brief Deletes all ignored conflict entries of the changelog with the objtype.
diff --git a/opensync/client/opensync_client.c b/opensync/client/opensync_client.c
index 4b77fa8..89079ae 100644
--- a/opensync/client/opensync_client.c
+++ b/opensync/client/opensync_client.c
@@ -783,8 +783,8 @@ static osync_bool _osync_client_handle_initialize(OSyncClient *client, OSyncMess
#ifdef OPENSYNC_UNITTESTS
{
- long long int memberid;
- if (!osync_message_read_long_long_int(message, &memberid, error)) // Introduced (only) for testing/debugging purpose (mock-sync)
+ osync_memberid memberid;
+ if (!osync_message_read_int(message, &memberid, error)) // Introduced (only) for testing/debugging purpose (mock-sync)
goto error;
client->plugin_info->memberid = memberid;
diff --git a/opensync/client/opensync_client_proxy.c b/opensync/client/opensync_client_proxy.c
index bbe0b24..666942a 100644
--- a/opensync/client/opensync_client_proxy.c
+++ b/opensync/client/opensync_client_proxy.c
@@ -1068,7 +1068,7 @@ osync_bool osync_client_proxy_spawn(OSyncClientProxy *proxy, OSyncStartType type
osync_queue_disconnect(read2, error);
osync_trace(TRACE_INTERNAL, "About to exec osplugin");
- //char *memberstring = g_strdup_printf("%lli", osync_member_get_id(proxy->member));
+ //char *memberstring = g_strdup_printf("%i", osync_member_get_id(proxy->member));
//execlp("osplugin", "osplugin", osync_group_get_configdir(osync_member_get_group(osync_proxy_get_member(proxy)), memberstring, NULL);
readfd = osync_strdup_printf("%i", osync_queue_get_fd(read1));
writefd = osync_strdup_printf("%i", osync_queue_get_fd(write2));
@@ -1293,7 +1293,7 @@ osync_bool osync_client_proxy_initialize(OSyncClientProxy *proxy, initialize_cb
int haspluginconfig = config ? TRUE : FALSE;
OSyncMessage *message = NULL;
#ifdef OPENSYNC_UNITTESTS
- long long int memberid = 0;
+ osync_memberid memberid = 0;
#endif
osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %s, %s, %s, %s, %s, %p, %p)", __func__, proxy, callback, userdata, formatdir, plugindir, plugin, groupname, configdir, config, error);
@@ -1355,7 +1355,7 @@ osync_bool osync_client_proxy_initialize(OSyncClientProxy *proxy, initialize_cb
if (proxy->member)
memberid = osync_member_get_id(proxy->member);
- osync_message_write_long_long_int(message, memberid, error);
+ osync_message_write_int(message, memberid, error);
#endif
osync_message_set_handler(message, _osync_client_proxy_init_handler, ctx);
diff --git a/opensync/engine/opensync_engine.c b/opensync/engine/opensync_engine.c
index ccd6e40..3e0a72b 100644
--- a/opensync/engine/opensync_engine.c
+++ b/opensync/engine/opensync_engine.c
@@ -195,7 +195,7 @@ static void _osync_engine_receive_change(OSyncClientProxy *proxy, void *userdata
OSyncError *error = NULL;
osync_bool found = FALSE;
OSyncMember *member = NULL;
- long long int memberid = 0;
+ osync_memberid memberid = 0;
const char *uid = NULL;
OSyncChangeType changetype = 0;
const char *format = NULL;
@@ -217,7 +217,7 @@ static void _osync_engine_receive_change(OSyncClientProxy *proxy, void *userdata
objtype_sink = osync_member_find_objtype_sink(member, objtype);
- osync_trace(TRACE_INTERNAL, "Received change %s, changetype %i, format %s, objtype %s from member %lli", uid, changetype, format, objtype, memberid);
+ osync_trace(TRACE_INTERNAL, "Received change %s, changetype %i, format %s, objtype %s from member %i", uid, changetype, format, objtype, memberid);
data = osync_change_get_data(change);
@@ -233,7 +233,7 @@ static void _osync_engine_receive_change(OSyncClientProxy *proxy, void *userdata
objtype = osync_objformat_get_objtype(detected_format);
}
- member_objtype = osync_strdup_printf("%lli_%s", memberid, objtype);
+ member_objtype = osync_strdup_printf("%i_%s", memberid, objtype);
/* Convert the format to the internal format */
internalFormat = _osync_engine_get_internal_format(engine, objtype);
@@ -1127,7 +1127,7 @@ void osync_engine_trace_multiply_summary(OSyncEngine *engine)
{
OSyncList *o;
unsigned int added, modified, deleted, unmodified, unknown, total, n;
- long long int memberid;
+ osync_memberid memberid;
if (!osync_trace_is_enabled())
return;
@@ -1176,7 +1176,7 @@ void osync_engine_trace_multiply_summary(OSyncEngine *engine)
}
}
- osync_trace(TRACE_INTERNAL, "\tMember: %lli "
+ osync_trace(TRACE_INTERNAL, "\tMember: %i "
"added:%u modified:%u deleted:%u "
"(unmodified:%u unknown:%u)",
memberid, added, modified, deleted, unmodified, unknown);
diff --git a/opensync/engine/opensync_engine_private.h b/opensync/engine/opensync_engine_private.h
index bee860c..7e4cf8b 100644
--- a/opensync/engine/opensync_engine_private.h
+++ b/opensync/engine/opensync_engine_private.h
@@ -176,7 +176,7 @@ struct OSyncEngineMappingUpdate {
/** The type of the status update */
OSyncEngineMappingEvent type;
/** If the mapping was already solved, this will have the id if the winning entry */
- long long int winner;
+ osync_memberid winner;
/** The mapping for which the status update is */
OSyncMapping *mapping;
/** If the status was a error, this error will be set */
diff --git a/opensync/engine/opensync_mapping_engine.c b/opensync/engine/opensync_mapping_engine.c
index a40d02f..6c81066 100644
--- a/opensync/engine/opensync_mapping_engine.c
+++ b/opensync/engine/opensync_mapping_engine.c
@@ -284,7 +284,7 @@ osync_bool osync_mapping_engine_multiply(OSyncMappingEngine *engine, OSyncError
osync_assert(engine);
osync_assert(engine->mapping);
- osync_trace(TRACE_ENTRY, "%s(%p(%lli), %p)", __func__, engine, osync_mapping_get_id(engine->mapping), error);
+ osync_trace(TRACE_ENTRY, "%s(%p(%i), %p)", __func__, engine, osync_mapping_get_id(engine->mapping), error);
if (engine->synced) {
osync_trace(TRACE_EXIT, "%s: No need to multiply. Already synced", __func__);
@@ -578,7 +578,7 @@ OSyncChange *osync_mapping_engine_nth_change(OSyncMappingEngine *engine, unsigne
return NULL;
}
-OSyncChange *osync_mapping_engine_member_change(OSyncMappingEngine *engine, long long int memberid)
+OSyncChange *osync_mapping_engine_member_change(OSyncMappingEngine *engine, osync_memberid memberid)
{
OSyncList *e = NULL;
osync_assert(engine);
@@ -620,7 +620,7 @@ osync_bool osync_mapping_engine_ignore(OSyncMappingEngine *engine, OSyncError **
OSyncObjEngine *objengine = NULL;
OSyncArchive *archive = NULL;
char *objtype = NULL;
- long long int id = 0;
+ osync_mappingid id = 0;
OSyncList *c = NULL;
osync_trace(TRACE_ENTRY, "%s(%p, %p)", __func__, engine, error);
@@ -705,15 +705,15 @@ osync_bool osync_mapping_engine_duplicate(OSyncMappingEngine *existingMapping, O
OSyncMappingEntryEngine *entry = e->data;
if (entry->change) {
if (osync_change_get_changetype(entry->change) == OSYNC_CHANGE_TYPE_MODIFIED || osync_change_get_changetype(entry->change) == OSYNC_CHANGE_TYPE_ADDED) {
- osync_trace(TRACE_INTERNAL, "Appending entry %s, changetype %i from member %lli", osync_change_get_uid(entry->change), osync_change_get_changetype(entry->change), osync_member_get_id(osync_client_proxy_get_member(entry->sink_engine->proxy)));
+ osync_trace(TRACE_INTERNAL, "Appending entry %s, changetype %i from member %i", osync_change_get_uid(entry->change), osync_change_get_changetype(entry->change), osync_member_get_id(osync_client_proxy_get_member(entry->sink_engine->proxy)));
entries = osync_list_append(entries, entry);
} else {
- osync_trace(TRACE_INTERNAL, "Removing entry %s, changetype %i from member %lli", osync_change_get_uid(entry->change), osync_change_get_changetype(entry->change), osync_member_get_id(osync_client_proxy_get_member(entry->sink_engine->proxy)));
+ osync_trace(TRACE_INTERNAL, "Removing entry %s, changetype %i from member %i", osync_change_get_uid(entry->change), osync_change_get_changetype(entry->change), osync_member_get_id(osync_client_proxy_get_member(entry->sink_engine->proxy)));
osync_entry_engine_update(entry, NULL);
}
} else {
- osync_trace(TRACE_INTERNAL, "member %lli does not have a entry", osync_member_get_id(osync_client_proxy_get_member(entry->sink_engine->proxy)));
+ osync_trace(TRACE_INTERNAL, "member %i does not have a entry", osync_member_get_id(osync_client_proxy_get_member(entry->sink_engine->proxy)));
}
}
diff --git a/opensync/engine/opensync_mapping_engine.h b/opensync/engine/opensync_mapping_engine.h
index 8655e21..cf53cc9 100644
--- a/opensync/engine/opensync_mapping_engine.h
+++ b/opensync/engine/opensync_mapping_engine.h
@@ -28,7 +28,7 @@
* @param memberid The member id of the request change.
* @returns The pointer to the change of the member. NULL if member doesn't have an entry in this mapping.
*/
-OSYNC_EXPORT OSyncChange *osync_mapping_engine_member_change(OSyncMappingEngine *engine, long long int memberid);
+OSYNC_EXPORT OSyncChange *osync_mapping_engine_member_change(OSyncMappingEngine *engine, osync_memberid memberid);
OSYNC_EXPORT OSyncMember *osync_mapping_engine_change_find_member(OSyncMappingEngine *engine, OSyncChange *change);
diff --git a/opensync/engine/opensync_obj_engine.c b/opensync/engine/opensync_obj_engine.c
index fc8487f..fd5ee6b 100644
--- a/opensync/engine/opensync_obj_engine.c
+++ b/opensync/engine/opensync_obj_engine.c
@@ -385,8 +385,8 @@ osync_bool osync_obj_engine_map_changes(OSyncObjEngine *engine, OSyncError **err
* the current sinkengine, since there will be only one entry (for the current sinkengine) so there
* is no need to compare */
- long long int memberid = osync_member_get_id(osync_client_proxy_get_member(sinkengine->proxy));
- osync_trace(TRACE_INTERNAL, "Sinkengine of member %lli", memberid);
+ osync_memberid memberid = osync_member_get_id(osync_client_proxy_get_member(sinkengine->proxy));
+ osync_trace(TRACE_INTERNAL, "Sinkengine of member %i", memberid);
unmapped_mappings = osync_list_copy(new_mappings);
@@ -394,7 +394,7 @@ osync_bool osync_obj_engine_map_changes(OSyncObjEngine *engine, OSyncError **err
while (sinkengine->unmapped) {
OSyncChange *change = sinkengine->unmapped->data;
- osync_trace(TRACE_INTERNAL, "Looking for mapping for change %s, changetype %i from member %lli", osync_change_get_uid(change), osync_change_get_changetype(change), memberid);
+ osync_trace(TRACE_INTERNAL, "Looking for mapping for change %s, changetype %i from member %i", osync_change_get_uid(change), osync_change_get_changetype(change), memberid);
/* See if there is an exisiting mapping, which fits the unmapped change */
result = _osync_obj_engine_mapping_find(unmapped_mappings, change, sinkengine, &mapping_engine, error);
@@ -405,7 +405,7 @@ osync_bool osync_obj_engine_map_changes(OSyncObjEngine *engine, OSyncError **err
if (!mapping_engine)
goto error;
- osync_trace(TRACE_INTERNAL, "Unable to find mapping. Creating new mapping with id %lli", osync_mapping_get_id(mapping_engine->mapping));
+ osync_trace(TRACE_INTERNAL, "Unable to find mapping. Creating new mapping with id %i", osync_mapping_get_id(mapping_engine->mapping));
/* TODO: what about _prepend (O(1)) instead of _append (O(n))? Order doesn't matter here - right? */
new_mappings = osync_list_append(new_mappings, mapping_engine);
unmapped_mappings = osync_list_append(unmapped_mappings, mapping_engine);
@@ -634,7 +634,7 @@ void osync_obj_engine_commit_change_callback(OSyncClientProxy *proxy, void *user
OSyncMappingEntry *entry = NULL;
const char *objtype = NULL;
const char *objengine_objtype = NULL;
- long long int id = 0;
+ osync_mappingid id = 0;
objengine_objtype = osync_obj_engine_get_objtype(engine);
@@ -784,7 +784,7 @@ static osync_bool _inject_changelog_entries(OSyncObjEngine *engine, OSyncError *
t = changetypes;
mid = memberids;
for (j = ids; j; j = j->next) {
- long long int id = (long long int)GPOINTER_TO_INT(j->data);
+ osync_archiveid id = GPOINTER_TO_INT(j->data);
OSyncMapping *ignored_mapping = osync_mapping_table_find_mapping(engine->mapping_table, id);
diff --git a/opensync/engine/opensync_sink_engine.c b/opensync/engine/opensync_sink_engine.c
index f1065dd..639e24a 100644
--- a/opensync/engine/opensync_sink_engine.c
+++ b/opensync/engine/opensync_sink_engine.c
@@ -230,7 +230,7 @@ osync_bool osync_sink_engine_write(OSyncSinkEngine *engine, OSyncArchive *archiv
OSyncChange *change = osync_entry_engine_get_change(entry_engine);
osync_assert(change);
- osync_trace(TRACE_INTERNAL, "Writing change %s, changetype %i, format %s , objtype %s from member %lli",
+ osync_trace(TRACE_INTERNAL, "Writing change %s, changetype %i, format %s , objtype %s from member %i",
osync_change_get_uid(change),
osync_change_get_changetype(change),
osync_objformat_get_name(osync_change_get_objformat(change)),
diff --git a/opensync/group/opensync_group.c b/opensync/group/opensync_group.c
index 81e0abb..ffb3c6b 100644
--- a/opensync/group/opensync_group.c
+++ b/opensync/group/opensync_group.c
@@ -76,16 +76,16 @@ static int flock(int fd, int operation)
#endif //not defined _WIN32
-static long long int osync_group_create_member_id(OSyncGroup *group)
+static osync_memberid osync_group_create_member_id(OSyncGroup *group)
{
char *filename = NULL;
- long long int i = 0;
+ osync_memberid i = 0;
do {
i++;
if (filename)
osync_free(filename);
- filename = osync_strdup_printf("%s%c%lli", group->configdir, G_DIR_SEPARATOR, i);
+ filename = osync_strdup_printf("%s%c%i", group->configdir, G_DIR_SEPARATOR, i);
} while (g_file_test(filename, G_FILE_TEST_EXISTS));
osync_free(filename);
@@ -778,7 +778,7 @@ void osync_group_add_member(OSyncGroup *group, OSyncMember *member)
if (!osync_member_get_configdir(member)) {
member->id = osync_group_create_member_id(group);
- char *configdir = osync_strdup_printf("%s%c%lli", group->configdir, G_DIR_SEPARATOR, member->id);
+ char *configdir = osync_strdup_printf("%s%c%i", group->configdir, G_DIR_SEPARATOR, member->id);
osync_member_set_configdir(member, configdir);
osync_free(configdir);
}
@@ -794,7 +794,7 @@ void osync_group_remove_member(OSyncGroup *group, OSyncMember *member)
osync_member_unref(member);
}
-OSyncMember *osync_group_find_member(OSyncGroup *group, long long int id)
+OSyncMember *osync_group_find_member(OSyncGroup *group, osync_memberid id)
{
OSyncList *m = NULL;
for (m = group->members; m; m = m->next) {
@@ -980,14 +980,14 @@ time_t osync_group_get_last_synchronization(OSyncGroup *group)
return group->last_sync;
}
-void osync_group_set_conflict_resolution(OSyncGroup *group, O...
[truncated message content] |
|
From: Chris F. <cd...@fo...> - 2010-07-01 04:07:20
|
Back in November 2009 I posted this patch to remove unneeded long long usage in opensync, since it was unneeded for opensync's behaviour, and conflicted with C++. At the same time I converted the IDs to typedefs, to make the code cleaner and more flexile. I posted it for comment, and got no comments, which is understandable since it is so huge. I also got distracted with non-sync projects, and didn't have time to follow up with it. But it has not died! :-) This patch is adjusted to fit the latest SVN tree. I've been using it in nearly all my sync work over the months since November, and haven't had any trouble that has been caused by the patch, to my knowledge. If nobody objects, I'll commit this to the tree, along with small compile fixes to osynctool. I've attached both patches. Comments welcome. - Chris |
|
From: Daniel G. <go...@b1...> - 2010-07-09 03:12:41
|
On Thursday 01 July 2010 04:07:12 pm Chris Frey wrote: > If nobody objects, I'll commit this to the tree, along with small > compile fixes to osynctool. I've attached both patches. > Please go ahead and apply those patches. Could you add a small porting instruction (maybe based on your osynctool porting experience) to the commit message ... to make life easier for those who need to adapt to this API change? Best Regards, Daniel -- Daniel Gollub Geschaeftsfuehrer: Ralph Dehner Linux Consultant & Developer Unternehmenssitz: Vohburg B1 Systems GmbH Amtsgericht: Ingolstadt Mobil: +49-(0)-160 47 73 970 Handelsregister: HRB 3537 EMail: go...@b1... http://www.b1-systems.de Adresse: B1 Systems GmbH, Osterfeldstraße 7, 85088 Vohburg http://pgpkeys.pca.dfn.de/pks/lookup?op=get&search=0xED14B95C2F8CA78D |
|
From: Daniel G. <go...@b1...> - 2010-07-09 03:20:40
|
On Friday 09 July 2010 03:12:23 pm Daniel Gollub wrote: > On Thursday 01 July 2010 04:07:12 pm Chris Frey wrote: > > If nobody objects, I'll commit this to the tree, along with small > > compile fixes to osynctool. I've attached both patches. > > > > Please go ahead and apply those patches. > Oops, they're already in ... sorry for the late reply. -- Daniel Gollub Geschaeftsfuehrer: Ralph Dehner Linux Consultant & Developer Unternehmenssitz: Vohburg B1 Systems GmbH Amtsgericht: Ingolstadt Mobil: +49-(0)-160 47 73 970 Handelsregister: HRB 3537 EMail: go...@b1... http://www.b1-systems.de Adresse: B1 Systems GmbH, Osterfeldstraße 7, 85088 Vohburg http://pgpkeys.pca.dfn.de/pks/lookup?op=get&search=0xED14B95C2F8CA78D |
|
From: Chris F. <cd...@fo...> - 2010-07-09 05:35:42
|
On Fri, Jul 09, 2010 at 03:12:23PM +1200, Daniel Gollub wrote: > Please go ahead and apply those patches. Thanks! I tried to commit some compile fix patches for the google-calendar plugin, but I'm getting a Forbidden message: Sending src/CMakeLists.txt svn: Commit failed (details follow): svn: Server sent unexpected return value (403 Forbidden) in response to CHECKOUT request for '/!svn/ver/5202/plugins/google-calendar/src/CMakeLists.txt' Do I have access to the google-calendar plugin? I seem to have access to evolution2, so I assumed I had access to most plugins. Thanks, - Chris |
|
From: Daniel G. <go...@b1...> - 2010-07-09 06:18:48
|
On Friday 09 July 2010 05:35:34 pm Chris Frey wrote: > I tried to commit some compile fix patches for the google-calendar plugin, > but I'm getting a Forbidden message: > > Sending src/CMakeLists.txt > svn: Commit failed (details follow): > svn: Server sent unexpected return value (403 Forbidden) in response to > CHECKOUT request for > '/!svn/ver/5202/plugins/google-calendar/src/CMakeLists.txt' > > Do I have access to the google-calendar plugin? I seem to have access > to evolution2, so I assumed I had access to most plugins. You have now write-access to the google-calendar plugin. So far you have access to: /trunk (OpenSync) /plugins/kdepim /format-plugins/vformat /plugins/evolution2 /format-plugins/xmlformat/trunk and /plugins/google-calendar Do you want to have access to some more plugins? Best Regards, Daniel -- Daniel Gollub Geschaeftsfuehrer: Ralph Dehner Linux Consultant & Developer Unternehmenssitz: Vohburg B1 Systems GmbH Amtsgericht: Ingolstadt Mobil: +49-(0)-160 47 73 970 Handelsregister: HRB 3537 EMail: go...@b1... http://www.b1-systems.de Adresse: B1 Systems GmbH, Osterfeldstraße 7, 85088 Vohburg http://pgpkeys.pca.dfn.de/pks/lookup?op=get&search=0xED14B95C2F8CA78D |
|
From: Chris F. <cd...@fo...> - 2010-07-09 06:55:30
|
On Fri, Jul 09, 2010 at 06:18:31PM +1200, Daniel Gollub wrote: > You have now write-access to the google-calendar plugin. > > So far you have access to: > > /trunk (OpenSync) > /plugins/kdepim > /format-plugins/vformat > /plugins/evolution2 > /format-plugins/xmlformat/trunk > > and > > > /plugins/google-calendar > > Do you want to have access to some more plugins? Thank you very much. After I get google-calendar working, I was planning to look at sunbird. I used to use that in 0.22, but I don't see that in 0.3x yet. Is the "mozilla-sync" plugin where sunbird should go? - Chris |
|
From: Henrik /K. <he...@ka...> - 2010-07-09 15:41:29
|
Chris Frey wrote: > > > Thank you very much. After I get google-calendar working, I was planning > to look at sunbird. I used to use that in 0.22, but I don't see that > in 0.3x yet. Is the "mozilla-sync" plugin where sunbird should go? > > mozilla-sync should already "almost" work with sunbird http://bluezync.kaarposoft.dk/ |
|
From: Chris F. <cd...@fo...> - 2010-07-09 19:10:44
|
On Fri, Jul 09, 2010 at 05:18:02PM +0200, Henrik /KaarPoSoft wrote: > Chris Frey wrote: > > > > > > Thank you very much. After I get google-calendar working, I was planning > > to look at sunbird. I used to use that in 0.22, but I don't see that > > in 0.3x yet. Is the "mozilla-sync" plugin where sunbird should go? > > > > > mozilla-sync should already "almost" work with sunbird > http://bluezync.kaarposoft.dk/ Ahh... thanks. Is that the official home of the mozilla-sync plugin? I was looking in the opensync svn and the tree looked pretty empty. Looking at http://bluezync.kaarposoft.dk/0.1.6/building.html it gives me the following command to grab the plugin: svn co https://bluezync.svn.sourceforge.net/svnroot/bluezync/trunk/libopensync-plugin-mozilla libopensync-plugin-mozilla But it looks like it's been moved? Almost looks like I need to compile bluezync to get it. Am I on the right track? - Chris |
|
From: Henrik /K. <he...@ka...> - 2010-07-11 05:43:29
|
Chris Frey wrote: > On Fri, Jul 09, 2010 at 05:18:02PM +0200, Henrik /KaarPoSoft wrote: > >> Chris Frey wrote: >> >>> Thank you very much. After I get google-calendar working, I was planning >>> to look at sunbird. I used to use that in 0.22, but I don't see that >>> in 0.3x yet. Is the "mozilla-sync" plugin where sunbird should go? >>> >>> >>> >> mozilla-sync should already "almost" work with sunbird >> http://bluezync.kaarposoft.dk/ >> > > Ahh... thanks. Is that the official home of the mozilla-sync plugin? > As official as it gets ((-; > I was looking in the opensync svn and the tree looked pretty empty. > It is an external plugin, so all of the code is in blueZync. The opensync tree just has the config files. > Looking at http://bluezync.kaarposoft.dk/0.1.6/building.html > it gives me the following command to grab the plugin: > > svn co https://bluezync.svn.sourceforge.net/svnroot/bluezync/trunk/libopensync-plugin-mozilla libopensync-plugin-mozilla > > But it looks like it's been moved? Almost looks like I need to compile > bluezync to get it. > > Don't waste time on the old 0.1.6. You must compile from source: http://bluezync.kaarposoft.dk/building.html /Henrik |