You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
(56) |
Apr
(109) |
May
(15) |
Jun
(3) |
Jul
(37) |
Aug
(96) |
Sep
(40) |
Oct
(4) |
Nov
(54) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(47) |
Feb
(30) |
Mar
(102) |
Apr
(120) |
May
(68) |
Jun
(54) |
Jul
(53) |
Aug
(122) |
Sep
(190) |
Oct
(71) |
Nov
(85) |
Dec
(108) |
2007 |
Jan
(72) |
Feb
(190) |
Mar
(53) |
Apr
(101) |
May
(145) |
Jun
(148) |
Jul
(167) |
Aug
(143) |
Sep
(23) |
Oct
(198) |
Nov
(223) |
Dec
(195) |
2008 |
Jan
(100) |
Feb
(129) |
Mar
(79) |
Apr
(77) |
May
(34) |
Jun
(95) |
Jul
(112) |
Aug
(160) |
Sep
(82) |
Oct
(124) |
Nov
(199) |
Dec
(355) |
2009 |
Jan
(436) |
Feb
(89) |
Mar
(298) |
Apr
(189) |
May
(33) |
Jun
(88) |
Jul
(105) |
Aug
(44) |
Sep
(181) |
Oct
(87) |
Nov
(75) |
Dec
(1) |
2010 |
Jan
(63) |
Feb
(21) |
Mar
(3) |
Apr
(1) |
May
(1) |
Jun
(3) |
Jul
(26) |
Aug
(37) |
Sep
(26) |
Oct
(15) |
Nov
(13) |
Dec
|
From: <svn...@op...> - 2009-06-09 08:40:59
|
Author: bellmich Date: Tue Jun 9 10:40:48 2009 New Revision: 218 URL: http://libwbxml.opensync.org/changeset/218 Log: added support for Nokia ConML (ticket #35) This is the original patch from ticket #35. Modified: wbxml2/trunk/CMakeLists.txt wbxml2/trunk/src/wbxml.h wbxml2/trunk/src/wbxml_config.h.cmake wbxml2/trunk/src/wbxml_tables.c wbxml2/trunk/src/wbxml_tables.h Modified: wbxml2/trunk/CMakeLists.txt ============================================================================== --- wbxml2/trunk/CMakeLists.txt Thu Jun 4 11:48:05 2009 (r217) +++ wbxml2/trunk/CMakeLists.txt Tue Jun 9 10:40:48 2009 (r218) @@ -133,6 +133,7 @@ OPTION( WBXML_SUPPORT_SYNCML "enable SYNCML support" ON ) OPTION( WBXML_SUPPORT_WV "enable WV support" ON ) OPTION( WBXML_SUPPORT_AIRSYNC "enable AIRSYNC support" ON ) +OPTION( WBXML_SUPPORT_CONML "enable Nokia ConML support" ON ) SET( PACKAGE "libwbxml" ) SET( PACKAGE_BUGREPORT " " ) @@ -214,6 +215,7 @@ SHOW_STATUS( WBXML_SUPPORT_SYNCML "enable SYNCML support\t" ) SHOW_STATUS( WBXML_SUPPORT_WV "enable WV support\t\t" ) SHOW_STATUS( WBXML_SUPPORT_AIRSYNC "enable AIRSYNC support\t" ) +SHOW_STATUS( WBXML_SUPPORT_CONML "enable Nokia ConML support\t" ) SHOW_STATUS( BUILD_DOCUMENTATION "build dynamic documentation\t" ) SHOW_STATUS( ENABLE_INSTALL_DOC "install documentation\t" ) Modified: wbxml2/trunk/src/wbxml.h ============================================================================== --- wbxml2/trunk/src/wbxml.h Thu Jun 4 11:48:05 2009 (r217) +++ wbxml2/trunk/src/wbxml.h Tue Jun 9 10:40:48 2009 (r218) @@ -240,8 +240,13 @@ /* Microsoft AirSync */ #if defined( WBXML_SUPPORT_AIRSYNC ) - WBXML_LANG_AIRSYNC /**< AirSync */ + WBXML_LANG_AIRSYNC, /**< AirSync */ #endif /* WBXML_SUPPORT_AIRSYNC */ + + /* Nokia ConML */ +#if defined( WBXML_SUPPORT_CONML ) + WBXML_LANG_CONML /**< ConML */ +#endif /* WBXML_SUPPORT_CONML */ } WBXMLLanguage; Modified: wbxml2/trunk/src/wbxml_config.h.cmake ============================================================================== --- wbxml2/trunk/src/wbxml_config.h.cmake Thu Jun 4 11:48:05 2009 (r217) +++ wbxml2/trunk/src/wbxml_config.h.cmake Tue Jun 9 10:40:48 2009 (r218) @@ -25,5 +25,6 @@ #cmakedefine WBXML_SUPPORT_SYNCML #cmakedefine WBXML_SUPPORT_WV #cmakedefine WBXML_SUPPORT_AIRSYNC +#cmakedefine WBXML_SUPPORT_CONML #endif /* WBXML_CONFIG_H */ Modified: wbxml2/trunk/src/wbxml_tables.c ============================================================================== --- wbxml2/trunk/src/wbxml_tables.c Thu Jun 4 11:48:05 2009 (r217) +++ wbxml2/trunk/src/wbxml_tables.c Tue Jun 9 10:40:48 2009 (r218) @@ -119,6 +119,10 @@ const WBXMLPublicIDEntry sv_airsync_public_id = { WBXML_PUBLIC_ID_AIRSYNC, XML_PUBLIC_ID_AIRSYNC, "AirSync", "http://www.microsoft.com/"}; #endif /* WBXML_SUPPORT_AIRSYNC */ +#if defined( WBXML_SUPPORT_CONML ) +const WBXMLPublicIDEntry sv_conml_public_id = { WBXML_PUBLIC_ID_CONML, XML_PUBLIC_ID_CONML, "ConML", "http://www.nokia.com/"}; +#endif /* WBXML_SUPPORT_CONML */ + /************************************** * Languages Tables @@ -3136,6 +3140,54 @@ #endif /* WBXML_SUPPORT_AIRSYNC */ +#if defined( WBXML_SUPPORT_CONML ) + +/************************************************* + * ConML + */ + +const WBXMLTagEntry sv_conml_tag_table[] = { + /* Code Page: "ConML" */ + { "All", 0x00, 0x05 }, + { "Application", 0x00, 0x06 }, + { "Applications", 0x00, 0x07 }, + { "Cancel", 0x00, 0x09 }, + { "Complete", 0x00, 0x0a }, + { "ConML", 0x00, 0x0b }, + { "Data", 0x00, 0x0c }, + { "DeviceInfo", 0x00, 0x10 }, + { "Drives", 0x00, 0x12 }, + { "Execute", 0x00, 0x13 }, + { "GetDataSize", 0x00, 0x17 }, + { "GetStatus", 0x00, 0x18 }, + { "HasFiles", 0x00, 0x19 }, + { "ID", 0x00, 0x1a }, + { "IncType", 0x00, 0x1b }, + { "Install", 0x00, 0x1c }, + { "InstParams", 0x00, 0x1d }, + { "ListInstalledApps", 0x00, 0x1f }, + { "MaxObjectSize", 0x00, 0x21 }, + { "Modified", 0x00, 0x22 }, + { "MoreData", 0x00, 0x23 }, + { "Name", 0x00, 0x24 }, + { "PackageInfo", 0x00, 0x25 }, + { "Param", 0x00, 0x26 }, + { "PartialType", 0x00, 0x27 }, + { "Progress", 0x00, 0x28 }, + { "Reboot", 0x00, 0x29 }, + { "Results", 0x00, 0x2c }, + { "Status", 0x00, 0x31 }, + { "Task", 0x00, 0x35 }, + { "Type", 0x00, 0x37 }, + { "UID", 0x00, 0x38 }, + { "UnInstall", 0x00, 0x39 }, + { "Value", 0x00, 0x3c }, + { "Version", 0x00, 0x3d }, + { NULL, 0x00, 0x00 } +}; + +#endif /* WBXML_SUPPORT_CONML */ + /****************************** * Main Table @@ -3216,6 +3268,10 @@ { WBXML_LANG_AIRSYNC, &sv_airsync_public_id, sv_airsync_tag_table, sv_airsync_ns_table, NULL, NULL, NULL }, #endif /* WBXML_SUPPORT_AIRSYNC */ +#if defined( WBXML_SUPPORT_CONML ) + { WBXML_LANG_CONML, &sv_conml_public_id, sv_conml_tag_table, NULL, NULL, NULL, NULL }, +#endif /* WBXML_SUPPORT_CONML */ + { WBXML_LANG_UNKNOWN, NULL, NULL, NULL, NULL, NULL, NULL } }; Modified: wbxml2/trunk/src/wbxml_tables.h ============================================================================== --- wbxml2/trunk/src/wbxml_tables.h Thu Jun 4 11:48:05 2009 (r217) +++ wbxml2/trunk/src/wbxml_tables.h Tue Jun 9 10:40:48 2009 (r218) @@ -126,6 +126,9 @@ #define WBXML_PUBLIC_ID_AIRSYNC WBXML_PUBLIC_ID_UNKNOWN #define XML_PUBLIC_ID_AIRSYNC "-//AIRSYNC//DTD AirSync//EN" +/* Nokia ConML */ +#define WBXML_PUBLIC_ID_CONML 0x8F +#define XML_PUBLIC_ID_CONML "-//CONML//DTD ConML//EN" /**************************************************** * WBXML Tables Structures |
From: <svn...@op...> - 2009-06-04 22:33:28
|
Author: dgollub Date: Fri Jun 5 00:33:21 2009 New Revision: 5670 URL: http://www.opensync.org/changeset/5670 Log: Initial code for assemble and parsing capabilities refs #1084 Added: branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_objtype.h Modified: branches/opensync-ticket1084/opensync.sym branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.c branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.h branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_objtype.c branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_objtype_internals.h branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_private.h branches/opensync-ticket1084/opensync/capabilities/opensync_capability.c branches/opensync-ticket1084/opensync/client/opensync_client.c branches/opensync-ticket1084/opensync/group/opensync_member.c branches/opensync-ticket1084/opensync/opensync-capabilities.h branches/opensync-ticket1084/opensync/opensync.h branches/opensync-ticket1084/tests/capabilities-tests/check_capabilities.c branches/opensync-ticket1084/wrapper/opensync-merger.i Modified: branches/opensync-ticket1084/opensync.sym ============================================================================== --- branches/opensync-ticket1084/opensync.sym Thu Jun 4 22:53:54 2009 (r5669) +++ branches/opensync-ticket1084/opensync.sym Fri Jun 5 00:33:21 2009 (r5670) @@ -1,5 +1,7 @@ osync_capabilities_assemble +osync_capabilities_get_format osync_capabilities_new +osync_capabilities_objtype_get_caps osync_capabilities_parse osync_capabilities_ref osync_capabilities_unref Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.c ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.c Thu Jun 4 22:53:54 2009 (r5669) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.c Fri Jun 5 00:33:21 2009 (r5670) @@ -105,15 +105,16 @@ cur = cur->children; for(; cur != NULL; cur = cur->next) { - OSyncCapabilitiesObjType *capabilitiesobjtype = osync_capabilities_objtype_new_node(capabilities, cur, error); + OSyncCapabilitiesObjType *capabilitiesobjtype = osync_capabilities_objtype_parse(capabilities, cur, error); if (!capabilitiesobjtype) { osync_capabilities_unref(capabilities); goto error; } - if (!(capability = osync_capability_parse(capabilitiesobjtype, cur, error))) - goto error; + capabilities->objtypes = osync_list_prepend(capabilities->objtypes, capabilitiesobjtype); } + + capabilities->objtypes = osync_list_reverse(capabilities->objtypes); osync_trace(TRACE_EXIT, "%s: %p", __func__, capabilities); return capabilities; @@ -126,14 +127,56 @@ return NULL; } -osync_bool osync_capabilities_assemble(OSyncCapabilities *capabilities, char **buffer, int *size) +osync_bool osync_capabilities_assemble(OSyncCapabilities *capabilities, char **buffer, int *size, OSyncError **error) { + xmlDocPtr doc = NULL; + xmlNodePtr cur, root; + char *version_str; + const char *capsformat; + OSyncList *l; osync_assert(capabilities); - osync_assert(buffer); - osync_assert(size); - + + capsformat = osync_capabilities_get_format(capabilities); + + if (!capsformat) { + osync_error_set(error, OSYNC_ERROR_GENERIC, "Can't assamble capabilities: Capabilities Format not set."); + goto error; + } + + doc = xmlNewDoc((xmlChar*)"1.0"); + if (!doc) + goto error_oom; + + doc->children = xmlNewDocNode(doc, NULL, (xmlChar*)"Caps", NULL); + if (!doc) + goto error_oom; + + /* Set version for capabilities configuration */ + version_str = osync_strdup_printf("%u.%u", OSYNC_CAPS_MAJOR_VERSION, OSYNC_CAPS_MINOR_VERSION); + xmlSetProp(doc->children, (const xmlChar*)"Version", (const xmlChar *)version_str); + osync_free(version_str); + + /* Set CapsFormat Name */ + xmlSetProp(doc->children, (const xmlChar*)"CapsFormat", (const xmlChar *)capsformat); + + root = doc->children; + + for (l = capabilities->objtypes; l; l = l->next) { + OSyncCapabilitiesObjType *capobjtype; + capobjtype = (OSyncCapabilitiesObjType *) l->data; + if (!osync_capabilities_objtype_assemble(capobjtype, root, error)) + goto error; + } + xmlDocDumpFormatMemoryEnc(capabilities->doc, (xmlChar **) buffer, size, NULL, 1); + return TRUE; + +error_oom: + osync_error_set(error, OSYNC_ERROR_GENERIC, "Couldn't allocate memory to assemble capabilities file."); +error: + osync_trace(TRACE_EXIT_ERROR, "%s: %s" , __func__, osync_error_print(error)); + return FALSE; } OSyncCapabilities *osync_capabilities_load(const char *file, OSyncError **error) @@ -166,6 +209,11 @@ return capabilities; } +const char *osync_capabilities_get_format(OSyncCapabilities *capabilities) +{ + osync_assert(capabilities); + return capabilities->format; +} OSyncCapabilitiesObjType *osync_capabilities_get_objtype(OSyncCapabilities *capabilities, const char *objtype) { Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.h ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.h Thu Jun 4 22:53:54 2009 (r5669) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.h Fri Jun 5 00:33:21 2009 (r5670) @@ -75,12 +75,14 @@ /** * @brief Dump the capabilities into memory. * @param capabilities The pointer to a capabilities object - * @param buffer The pointer to the buffer which will hold the xml document - * @param size The pointer to the buffer which will hold the size of the xml document + * @param error The error which will hold the info in case of an error * @return The xml document and the size of it. It's up to the caller to free * the buffer. Always it return TRUE. */ -OSYNC_EXPORT osync_bool osync_capabilities_assemble(OSyncCapabilities *capabilities, char **buffer, int *size); +OSYNC_EXPORT osync_bool osync_capabilities_assemble(OSyncCapabilities *capabilities, char **buffer, int *size, OSyncError **error); + + +OSYNC_EXPORT const char *osync_capabilities_get_format(OSyncCapabilities *capabilities); /*@}*/ Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_objtype.c ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_objtype.c Thu Jun 4 22:53:54 2009 (r5669) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_objtype.c Fri Jun 5 00:33:21 2009 (r5670) @@ -48,9 +48,11 @@ return NULL; } -OSyncCapabilitiesObjType *osync_capabilities_objtype_new_node(OSyncCapabilities *capabilities, xmlNode *node, OSyncError **error) +OSyncCapabilitiesObjType *osync_capabilities_objtype_parse(OSyncCapabilities *capabilities, xmlNode *node, OSyncError **error) { xmlChar *objtype; + xmlNode *cur; + OSyncCapability *capability; OSyncCapabilitiesObjType *capobjtype = NULL; osync_assert(capabilities); osync_assert(node); @@ -62,7 +64,16 @@ goto error; osync_xml_free(objtype); - + + cur = node->children; + for(; cur != NULL; cur = cur->next) { + if (!(capability = osync_capability_parse(capobjtype, cur, error))) + goto error; + + /* TODO: prepend instaed of append */ + capobjtype->capabilities = osync_list_append(capobjtype->capabilities, capability); + } + return capobjtype; error: @@ -103,3 +114,42 @@ return capsobjtype->name; } +osync_bool osync_capabilities_objtype_assemble(OSyncCapabilitiesObjType *capsobjtype, xmlNode *node, OSyncError **error) +{ + const char *name; + OSyncList *l; + xmlNode *cur; + osync_assert(capsobjtype); + osync_assert(node); + + name = osync_capabilities_objtype_get_name(capsobjtype); + osync_assert(name); + + cur = xmlNewChild(node, NULL, (xmlChar*)"ObjType", NULL); + if (!cur) + goto error_oom; + + xmlSetProp(cur, (const xmlChar*)"Name", (const xmlChar*)name); + + for (l = capsobjtype->capabilities; l; l = l->next) { + OSyncCapability *capability; + capability = (OSyncCapability *) l->data; + if (!osync_capability_assemble(capability, cur, error)) + goto error; + } + + return TRUE; + +error_oom: + osync_error_set(error, OSYNC_ERROR_GENERIC, "Couldn't allocate memory to assemble capabilities objtype file."); +error: + osync_trace(TRACE_EXIT_ERROR, "%s: %s" , __func__, osync_error_print(error)); + return FALSE; +} + +OSyncList *osync_capabilities_objtype_get_caps(OSyncCapabilitiesObjType *capsobjtype) +{ + osync_assert(capsobjtype); + return capsobjtype->capabilities; +} + Added: branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_objtype.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_objtype.h Fri Jun 5 00:33:21 2009 (r5670) @@ -0,0 +1,39 @@ +/* + * libopensync - A synchronization framework + * Copyright (C) 2006 NetNix Finland Ltd <ne...@ne...> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Author: Daniel Friedrich <dan...@op...> + * + */ + +#ifndef OPENSYNC_CAPABILITIES_OBJTYPE_H_ +#define OPENSYNC_CAPABILITIES_OBJTYPE_H_ + + +/** + * @defgroup OSyncCapabilitiesObjTypeAPI OpenSync Capabilities Objtypes + * @ingroup OSyncCapabilitiesObjTypePrivate + * @brief The private part of the OSyncCapabilitiesObjType + * + */ +/*@{*/ + +OSYNC_EXPORT OSyncList *osync_capabilities_objtype_get_caps(OSyncCapabilitiesObjType *capsobjtype); + +/*@}*/ + +#endif /*OPENSYNC_CAPABILITIES_OBJTYPE_H_*/ Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_objtype_internals.h ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_objtype_internals.h Thu Jun 4 22:53:54 2009 (r5669) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_objtype_internals.h Fri Jun 5 00:33:21 2009 (r5670) @@ -48,7 +48,7 @@ * @param error The error which will hold the info in case of an error * @return The pointer to the newly allocated capabilitiesobjtype object or NULL in case of error */ -OSYNC_TEST_EXPORT OSyncCapabilitiesObjType *osync_capabilities_objtype_new_node(OSyncCapabilities *capabilities, xmlNode *node, OSyncError **error); +OSYNC_TEST_EXPORT OSyncCapabilitiesObjType *osync_capabilities_objtype_parse(OSyncCapabilities *capabilities, xmlNode *node, OSyncError **error); /** * @brief Get name of objtype from capabilities object type object @@ -57,6 +57,9 @@ */ OSYNC_TEST_EXPORT const char *osync_capabilities_objtype_get_name(OSyncCapabilitiesObjType *capsobjtype); + +OSYNC_TEST_EXPORT osync_bool osync_capabilities_objtype_assemble(OSyncCapabilitiesObjType *capsobjtype, xmlNode *node, OSyncError **error); + /*@}*/ #endif /*OPENSYNC_CAPABILITIES_OBJTYPE_INTERNAL_H_*/ Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_private.h ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_private.h Thu Jun 4 22:53:54 2009 (r5669) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_private.h Fri Jun 5 00:33:21 2009 (r5670) @@ -39,6 +39,8 @@ struct OSyncCapabilities { /** The reference counter for this object */ int ref_count; + /** Capabilities Format */ + char *format; /** ObjTypes **/ OSyncList *objtypes; /* OSyncCapabilitiesObjType */ /** The wrapped xml document */ Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capability.c ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync_capability.c Thu Jun 4 22:53:54 2009 (r5669) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capability.c Fri Jun 5 00:33:21 2009 (r5670) @@ -48,6 +48,7 @@ if (!cap) goto error; + cur = cur->children; for (; cur != NULL; cur = cur->next) { char *str = NULL; @@ -85,8 +86,74 @@ return NULL; } +osync_bool osync_capability_assemble(OSyncCapability *cap, xmlNodePtr node, OSyncError **error) +{ + char *tmp; + xmlNode *cur; + OSyncList *l; + osync_assert(cap); + osync_assert(node); + + cur = xmlNewChild(cur, NULL, (xmlChar*)"Cap", NULL); + if (!cur) + goto error_oom; + + /* DisplayName */ + if (!xmlNewChild(cur, NULL, (xmlChar*)"DisplayName", + (xmlChar*)osync_capability_get_displayname(cap))) + goto error_oom; + + /* MaxOccurs */ + tmp = osync_strdup_printf("%u", osync_capability_get_maxoccurs(cap)); + if (!tmp) + goto error_oom; + + if (!xmlNewChild(cur, NULL, (xmlChar*)"MaxOccurs", (xmlChar*)tmp)) + goto error_oom; + + /* Max */ + tmp = osync_strdup_printf("%u", osync_capability_get_max(cap)); + if (!tmp) + goto error_oom; + + if (!xmlNewChild(cur, NULL, (xmlChar*)"Max", (xmlChar*)tmp)) + goto error_oom; + + /* Min */ + tmp = osync_strdup_printf("%u", osync_capability_get_min(cap)); + if (!tmp) + goto error_oom; + + if (!xmlNewChild(cur, NULL, (xmlChar*)"Min", (xmlChar*)tmp)) + goto error_oom; + + /* Name */ + if (!xmlNewChild(cur, NULL, (xmlChar*)"Name", + (xmlChar*)osync_capability_get_name(cap))) + goto error_oom; + + /* Parameter TODO */ + /* Type TODO */ + + /* ValEnum */ + for (l = cap->valenum; l; l = l->next) { + if (!xmlNewChild(cur, NULL, (xmlChar*)"ValEnum", + (xmlChar*)l->data)) + goto error_oom; + } + + return TRUE; + +error_oom: + osync_error_set(error, OSYNC_ERROR_GENERIC, "No memory left to assemble capability."); +error: + osync_trace(TRACE_EXIT_ERROR, "%s: %s" , __func__, osync_error_print(error)); + return FALSE; +} + OSyncCapability *osync_capability_new(OSyncCapabilitiesObjType *capobjtype, OSyncError **error) { + OSyncList *l; OSyncCapability *capability = NULL; osync_trace(TRACE_ENTRY, "%s(%p, %s, %p)", __func__, capobjtype, error); osync_assert(capobjtype); @@ -94,6 +161,9 @@ capability = osync_try_malloc0(sizeof(OSyncCapability), error); if(!capability) goto error; + + l = osync_capabilities_objtype_get_caps(capobjtype); + l = osync_list_prepend(l, capability); osync_trace(TRACE_EXIT, "%s: %p", __func__, capability); return capability; Modified: branches/opensync-ticket1084/opensync/client/opensync_client.c ============================================================================== --- branches/opensync-ticket1084/opensync/client/opensync_client.c Thu Jun 4 22:53:54 2009 (r5669) +++ branches/opensync-ticket1084/opensync/client/opensync_client.c Fri Jun 5 00:33:21 2009 (r5670) @@ -897,7 +897,7 @@ capabilities = osync_plugin_info_get_capabilities(client->plugin_info); if (capabilities) { osync_message_write_int(reply, 1); - if(!osync_capabilities_assemble(capabilities, &buffer, &size)) + if (!osync_capabilities_assemble(capabilities, &buffer, &size, error)) goto error_free_message; osync_message_write_string(reply, buffer); g_free(buffer); Modified: branches/opensync-ticket1084/opensync/group/opensync_member.c ============================================================================== --- branches/opensync-ticket1084/opensync/group/opensync_member.c Thu Jun 4 22:53:54 2009 (r5669) +++ branches/opensync-ticket1084/opensync/group/opensync_member.c Fri Jun 5 00:33:21 2009 (r5670) @@ -1023,17 +1023,21 @@ osync_assert(member); osync_assert(capabilities); - osync_capabilities_assemble(capabilities, &buffer, &size); + if (!osync_capabilities_assemble(capabilities, &buffer, &size, error)) + goto error; + filename = osync_strdup_printf("%s%ccapabilities.xml", osync_member_get_configdir(member), G_DIR_SEPARATOR); res = osync_file_write(filename, buffer, size, 0600, error); osync_free(filename); osync_free(buffer); - if(!res) { - osync_trace(TRACE_EXIT_ERROR, "%s: %s" , __func__, osync_error_print(error)); - return FALSE; - } + if (!res) + goto error; osync_trace(TRACE_EXIT, "%s: %i", __func__, res); return res; + +error: + osync_trace(TRACE_EXIT_ERROR, "%s: %s" , __func__, osync_error_print(error)); + return FALSE; } Modified: branches/opensync-ticket1084/opensync/opensync-capabilities.h ============================================================================== --- branches/opensync-ticket1084/opensync/opensync-capabilities.h Thu Jun 4 22:53:54 2009 (r5669) +++ branches/opensync-ticket1084/opensync/opensync-capabilities.h Fri Jun 5 00:33:21 2009 (r5670) @@ -24,6 +24,7 @@ OPENSYNC_BEGIN_DECLS #include "capabilities/opensync_capabilities.h" +#include "capabilities/opensync_capabilities_objtype.h" #include "capabilities/opensync_capability.h" OPENSYNC_END_DECLS Modified: branches/opensync-ticket1084/opensync/opensync.h ============================================================================== --- branches/opensync-ticket1084/opensync/opensync.h Thu Jun 4 22:53:54 2009 (r5669) +++ branches/opensync-ticket1084/opensync/opensync.h Fri Jun 5 00:33:21 2009 (r5670) @@ -87,6 +87,8 @@ #define OSYNC_PLUGIN_MAJOR_VERSION 1 #define OSYNC_PLUGIN_MINOR_VERSION 0 +#define OSYNC_CAPS_MAJOR_VERSION 1 +#define OSYNC_CAPS_MINOR_VERSION 0 /************************************************************** * Defines Modified: branches/opensync-ticket1084/tests/capabilities-tests/check_capabilities.c ============================================================================== --- branches/opensync-ticket1084/tests/capabilities-tests/check_capabilities.c Thu Jun 4 22:53:54 2009 (r5669) +++ branches/opensync-ticket1084/tests/capabilities-tests/check_capabilities.c Fri Jun 5 00:33:21 2009 (r5670) @@ -58,6 +58,15 @@ OSyncCapabilities *capabilities = osync_capabilities_parse(buffer, size, &error); fail_unless(capabilities != NULL, NULL); fail_unless(error == NULL, NULL); + + OSyncCapabilitiesObjType *capsobjtype = osync_capabilities_get_objtype(capabilities, "contact"); + fail_unless(capsobjtype != NULL, NULL); + + OSyncList *c = osync_capabilities_objtype_get_caps(capsobjtype); + fail_unless(osync_list_length(c) == 9, NULL); + + OSyncCapability *cap = osync_list_nth_data(c, 6); + fail_unless(!strcmp(osync_capability_get_name(cap), "im_jabber"), NULL); osync_capabilities_unref(capabilities); Modified: branches/opensync-ticket1084/wrapper/opensync-merger.i ============================================================================== --- branches/opensync-ticket1084/wrapper/opensync-merger.i Thu Jun 4 22:53:54 2009 (r5669) +++ branches/opensync-ticket1084/wrapper/opensync-merger.i Fri Jun 5 00:33:21 2009 (r5670) @@ -46,11 +46,11 @@ PyObject *assemble() { char *buf; int size; - osync_bool ret = osync_capabilities_assemble(self, &buf, &size); - if (!ret) { - wrapper_exception("osync_capabilities_assemble failed\n"); + Error *err = NULL; + osync_bool ret = osync_capabilities_assemble(self, &buf, &size, &err); + if (raise_exception_on_error(err)) return NULL; - } + PyObject *obj = PyString_FromStringAndSize(buf, size); free(buf); return obj; |
From: <svn...@op...> - 2009-06-04 20:54:05
|
Author: dgollub Date: Thu Jun 4 22:53:54 2009 New Revision: 5669 URL: http://www.opensync.org/changeset/5669 Log: Fix wrapper build for capabilities module Modified: branches/opensync-ticket1084/wrapper/opensync-merger.i Modified: branches/opensync-ticket1084/wrapper/opensync-merger.i ============================================================================== --- branches/opensync-ticket1084/wrapper/opensync-merger.i Thu Jun 4 22:50:40 2009 (r5668) +++ branches/opensync-ticket1084/wrapper/opensync-merger.i Thu Jun 4 22:53:54 2009 (r5669) @@ -1,8 +1,8 @@ typedef struct {} Capability; %extend Capability { - Capability(OSyncCapabilitiesObjType *capobjtype, const char *name) { + Capability(OSyncCapabilitiesObjType *capobjtype) { Error *err = NULL; - Capability *cap = osync_capability_new(capobjtype, name, &err); + Capability *cap = osync_capability_new(capobjtype, &err); if (raise_exception_on_error(err)) return NULL; else |
From: <svn...@op...> - 2009-06-04 20:50:44
|
Author: dgollub Date: Thu Jun 4 22:50:40 2009 New Revision: 5668 URL: http://www.opensync.org/changeset/5668 Log: Drop <Value> node from capabilities schema Modified: branches/opensync-ticket1084/misc/schemas/capabilities.xsd Modified: branches/opensync-ticket1084/misc/schemas/capabilities.xsd ============================================================================== --- branches/opensync-ticket1084/misc/schemas/capabilities.xsd Thu Jun 4 22:49:56 2009 (r5667) +++ branches/opensync-ticket1084/misc/schemas/capabilities.xsd Thu Jun 4 22:50:40 2009 (r5668) @@ -28,7 +28,6 @@ <xsd:element maxOccurs="unbounded" minOccurs="0" name="Parameter" type="AdvancedParameter" /> <xsd:element maxOccurs="1" minOccurs="0" name="Type" type="AdvancedType" /> <xsd:element maxOccurs="unbounded" minOccurs="0" name="ValEnum" type="xsd:string" /> - <xsd:element maxOccurs="1" minOccurs="1" name="Value" type="xsd:string" /> </xsd:sequence> </xsd:complexType> |
From: <svn...@op...> - 2009-06-04 20:50:06
|
Author: dgollub Date: Thu Jun 4 22:49:56 2009 New Revision: 5667 URL: http://www.opensync.org/changeset/5667 Log: Fix build of testsuite. refs #1084 Modified: branches/opensync-ticket1084/tests/capabilities-tests/check_capabilities.c Modified: branches/opensync-ticket1084/tests/capabilities-tests/check_capabilities.c ============================================================================== --- branches/opensync-ticket1084/tests/capabilities-tests/check_capabilities.c Thu Jun 4 22:46:11 2009 (r5666) +++ branches/opensync-ticket1084/tests/capabilities-tests/check_capabilities.c Thu Jun 4 22:49:56 2009 (r5667) @@ -34,9 +34,11 @@ fail_unless(capsobjtype != NULL, NULL); fail_unless(error == NULL, NULL); - OSyncCapability *capability = osync_capability_new(capsobjtype, "Name", &error); + OSyncCapability *capability = osync_capability_new(capsobjtype, &error); fail_unless(capability != NULL, NULL); fail_unless(error == NULL, NULL); + + osync_capability_set_name(capability, "Name"); osync_capabilities_unref(capabilities); |
From: <svn...@op...> - 2009-06-04 20:46:26
|
Author: dgollub Date: Thu Jun 4 22:46:11 2009 New Revision: 5666 URL: http://www.opensync.org/changeset/5666 Log: Initial parsing of a capbility node. refs #1084 Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.c branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_objtype.c branches/opensync-ticket1084/opensync/capabilities/opensync_capability.c branches/opensync-ticket1084/opensync/capabilities/opensync_capability.h branches/opensync-ticket1084/opensync/capabilities/opensync_capability_internals.h branches/opensync-ticket1084/opensync/opensync-capabilities.h Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.c ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.c Thu Jun 4 11:28:24 2009 (r5665) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.c Thu Jun 4 22:46:11 2009 (r5666) @@ -52,6 +52,32 @@ return capabilities; } +OSyncCapabilities *osync_capabilities_ref(OSyncCapabilities *capabilities) +{ + osync_assert(capabilities); + + g_atomic_int_inc(&(capabilities->ref_count)); + + return capabilities; +} + +void osync_capabilities_unref(OSyncCapabilities *capabilities) +{ + osync_assert(capabilities); + + if (g_atomic_int_dec_and_test(&(capabilities->ref_count))) { + OSyncList *l; + for (l = capabilities->objtypes; l; l = l->next) { + OSyncCapabilitiesObjType *objtype; + objtype = (OSyncCapabilitiesObjType *) l->data; + osync_capabilities_objtype_unref(objtype); + /* TODO unlink from list */ + } + osync_xml_free_doc(capabilities->doc); + osync_free(capabilities); + } +} + OSyncCapabilities *osync_capabilities_parse(const char *buffer, unsigned int size, OSyncError **error) { OSyncCapability *capability = NULL; @@ -85,14 +111,8 @@ goto error; } - /* TODO: port - if (!(capability = osync_capability_new_node(capabilitiesobjtype, cur, error))) + if (!(capability = osync_capability_parse(capabilitiesobjtype, cur, error))) goto error; - - if (!osync_capability_parse(capability, cur->children, &capabilitiesobjtype->first_child, &capabilitiesobjtype->last_child, &capabilitiesobjtype->child_count, error)) - goto error_and_free; - */ - } osync_trace(TRACE_EXIT, "%s: %p", __func__, capabilities); @@ -106,32 +126,6 @@ return NULL; } -OSyncCapabilities *osync_capabilities_ref(OSyncCapabilities *capabilities) -{ - osync_assert(capabilities); - - g_atomic_int_inc(&(capabilities->ref_count)); - - return capabilities; -} - -void osync_capabilities_unref(OSyncCapabilities *capabilities) -{ - osync_assert(capabilities); - - if (g_atomic_int_dec_and_test(&(capabilities->ref_count))) { - OSyncList *l; - for (l = capabilities->objtypes; l; l = l->next) { - OSyncCapabilitiesObjType *objtype; - objtype = (OSyncCapabilitiesObjType *) l->data; - osync_capabilities_objtype_unref(objtype); - /* TODO unlink from list */ - } - osync_xml_free_doc(capabilities->doc); - osync_free(capabilities); - } -} - osync_bool osync_capabilities_assemble(OSyncCapabilities *capabilities, char **buffer, int *size) { osync_assert(capabilities); Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_objtype.c ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_objtype.c Thu Jun 4 11:28:24 2009 (r5665) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_objtype.c Thu Jun 4 22:46:11 2009 (r5666) @@ -26,7 +26,7 @@ #include "opensync-capabilities.h" #include "opensync-capabilities_internals.h" -#include "opensync_capabilities_objtype.h" +#include "opensync_capabilities_objtype_internals.h" #include "opensync_capabilities_objtype_private.h" OSyncCapabilitiesObjType *osync_capabilities_objtype_new(OSyncCapabilities *capabilities, const char *objtype, OSyncError **error) Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capability.c ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync_capability.c Thu Jun 4 11:28:24 2009 (r5665) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capability.c Thu Jun 4 22:46:11 2009 (r5666) @@ -35,12 +35,61 @@ return strcmp(osync_capability_get_name(*(OSyncCapability **)capability1), osync_capability_get_name(*(OSyncCapability **)capability2)); } -OSyncCapability *osync_capability_new(OSyncCapabilitiesObjType *capobjtype, const char *name, OSyncError **error) +OSyncCapability *osync_capability_parse(OSyncCapabilitiesObjType *capabilitiesobjtype, xmlNodePtr node, OSyncError **error) +{ + xmlNode *cur; + OSyncCapability *cap = NULL; + osync_assert(capabilitiesobjtype); + osync_assert(node); + + cur = node; + + cap = osync_capability_new(capabilitiesobjtype, error); + if (!cap) + goto error; + + for (; cur != NULL; cur = cur->next) { + char *str = NULL; + + if (cur->type != XML_ELEMENT_NODE) + continue; + + str = (char*)xmlNodeGetContent(cur); + if (!str) + continue; + + if (!xmlStrcmp(cur->name, BAD_CAST "Name")) + osync_capability_set_name(cap, str); + else if (!xmlStrcmp(cur->name, BAD_CAST "DisplayName")) + osync_capability_set_displayname(cap, str); + else if (!xmlStrcmp(cur->name, BAD_CAST "MaxOccurs")) + osync_capability_set_maxoccurs(cap, atoi(str)); + else if (!xmlStrcmp(cur->name, BAD_CAST "Max")) + osync_capability_set_max(cap, atoi(str)); + else if (!xmlStrcmp(cur->name, BAD_CAST "Min")) + osync_capability_set_min(cap, atoi(str)); + else if (!xmlStrcmp(cur->name, BAD_CAST "Parameter")) + ; //TODO + else if (!xmlStrcmp(cur->name, BAD_CAST "Type")) + ; //TODO + else if (!xmlStrcmp(cur->name, BAD_CAST "ValEnum")) + osync_list_prepend(cap->valenum, osync_strdup(str)); + + osync_xml_free(str); + } + + return cap; + +error: + osync_trace(TRACE_EXIT_ERROR, "%s: %s" , __func__, osync_error_print(error)); + return NULL; +} + +OSyncCapability *osync_capability_new(OSyncCapabilitiesObjType *capobjtype, OSyncError **error) { OSyncCapability *capability = NULL; - osync_trace(TRACE_ENTRY, "%s(%p, %s, %s, %p)", __func__, capobjtype, name, error); + osync_trace(TRACE_ENTRY, "%s(%p, %s, %p)", __func__, capobjtype, error); osync_assert(capobjtype); - osync_assert(name); capability = osync_try_malloc0(sizeof(OSyncCapability), error); if(!capability) Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capability.h ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync_capability.h Thu Jun 4 11:28:24 2009 (r5665) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capability.h Thu Jun 4 22:46:11 2009 (r5666) @@ -63,11 +63,10 @@ * @brief Creates a new capability object which will be added to the end of capabilities of the capabilities object. * The returned object will be freed with the capabilities object. * @param capobjtype The pointer to a capabilities objtype object - * @param name The name of the capability * @param error The error which will hold the info in case of an error * @return The pointer to the newly allocated capability object or NULL in case of error */ -OSYNC_EXPORT OSyncCapability *osync_capability_new(OSyncCapabilitiesObjType* capobjtype, const char *name, OSyncError **error); +OSYNC_EXPORT OSyncCapability *osync_capability_new(OSyncCapabilitiesObjType* capobjtype, OSyncError **error); /** * @brief Get the name of the capability Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capability_internals.h ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync_capability_internals.h Thu Jun 4 11:28:24 2009 (r5665) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capability_internals.h Thu Jun 4 22:46:11 2009 (r5666) @@ -39,23 +39,7 @@ * @param error The error which will hold the info in case of an error * @return The pointer to the newly allocated capability object or NULL in case of error */ -OSyncCapability *osync_capability_new_node(OSyncCapabilitiesObjType *objtype, xmlNodePtr node, OSyncError **error); - -/** - * @brief Multi-level parsing of OSyncCapability based on a given XML Node. - * - * This function create a Capability-tree out of the given xmlNode pointer. This function - * is calling it self in a recursion and parses all siblings and child of the given xmlNode pointer. - * - * @param parent The parent OSyncCapability - * @param node The node to start parsing the capabilities. - * @param first_child Reference to a pointer to store the first parsed OSyncCapability child - * @param last_child Reference to a pointer to store the last parsed OSyncCapability child - * @param child_count Reference to unsinged int to count the childs of the capability node - * @param error The error which will hold the info in case of an error - * @returns TRUE on success, FALSE on error - */ -osync_bool osync_capability_parse(OSyncCapability *parent, xmlNodePtr node, OSyncCapability **first_child, OSyncCapability **last_child, unsigned int *child_count, OSyncError **error); +OSyncCapability *osync_capability_parse(OSyncCapabilitiesObjType *objtype, xmlNodePtr node, OSyncError **error); /** * @brief Frees a capability object Modified: branches/opensync-ticket1084/opensync/opensync-capabilities.h ============================================================================== --- branches/opensync-ticket1084/opensync/opensync-capabilities.h Thu Jun 4 11:28:24 2009 (r5665) +++ branches/opensync-ticket1084/opensync/opensync-capabilities.h Thu Jun 4 22:46:11 2009 (r5666) @@ -24,7 +24,6 @@ OPENSYNC_BEGIN_DECLS #include "capabilities/opensync_capabilities.h" -#include "capabilities/opensync_capabilities_objtype.h" #include "capabilities/opensync_capability.h" OPENSYNC_END_DECLS |
From: <svn...@op...> - 2009-06-04 09:48:11
|
Author: bellmich Date: Thu Jun 4 11:48:05 2009 New Revision: 217 URL: http://libwbxml.opensync.org/changeset/217 Log: updated the release instructions Modified: wbxml2/trunk/RELEASE Modified: wbxml2/trunk/RELEASE ============================================================================== --- wbxml2/trunk/RELEASE Tue May 12 13:41:32 2009 (r216) +++ wbxml2/trunk/RELEASE Thu Jun 4 11:48:05 2009 (r217) @@ -42,11 +42,14 @@ "mkdir tags/libwbxml-$MAJOR.$MINOR.$PATCH", 'tar -C trunk --exclude="\.svn" -cf - . | tar -C tags/libwbxml-$MAJOR.$MINOR.$PATCH -xf -' "svn add tags/libwbxml-$MAJOR.$MINOR.$PATCH" and - "svn commit tags/libwbxml-$MAJOR.$MINOR.$PATCH" + "svn commit tags/libwbxml-$MAJOR.$MINOR.$PATCH trunk" (NEVER use "svn cp" because you must replace the external entities of the trunk directory with hard copies of the actual state.) - - create tarballs with "cmake $SOURCES; make package_source" (out of source build!) + - create tarballs for an out-of-source-build with + "cmake tags/libwbxml-$MAJOR.$MINOR.$PATCH -B/tmp/build/libwbxml-$MAJOR.$MINOR.$PATCH", + "cd /tmp/build/libwbxml-$MAJOR.$MINOR.$PATCH", + "make package_source" - write checksums with md5sum from the tarballs to a file with the same name like the tarballs without the tar and compression suffixes @@ -55,8 +58,11 @@ md5sum libwbxml-$MAJOR.$MINOR.$PATCH.tar.* > libwbxml-$MAJOR.$MINOR.$PATCH.md5sum md5sum -c libwbxml-$MAJOR.$MINOR.$PATCH.md5sum - - upload the tarballs and the checksum file to releases. - make sure the version numbers are the same! + - upload the tarballs and the checksum file to the File Release System + of SourceForge + "sftp $US...@fr...", + "cd uploads", + "put libwbxml-$MAJOR.$MINOR.$PATCH.*" - Annouce the release on the mailing list Tips: |
From: <svn...@op...> - 2009-06-04 09:28:40
|
Author: dgollub Date: Thu Jun 4 11:28:24 2009 New Revision: 5665 URL: http://www.opensync.org/changeset/5665 Log: Split OSyncCapabilitiesObjType and OSynCapabilites refs #1084 Added: branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_objtype.c branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_objtype_internals.h branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_objtype_private.h Modified: branches/opensync-ticket1084/opensync.sym branches/opensync-ticket1084/opensync/CMakeLists.txt branches/opensync-ticket1084/opensync/capabilities/opensync-capabilities_internals.h branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.c branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.h branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_internals.h branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_private.h branches/opensync-ticket1084/opensync/opensync-capabilities.h branches/opensync-ticket1084/tests/capabilities-tests/check_capabilities.c Modified: branches/opensync-ticket1084/opensync.sym ============================================================================== --- branches/opensync-ticket1084/opensync.sym Thu Jun 4 11:05:48 2009 (r5664) +++ branches/opensync-ticket1084/opensync.sym Thu Jun 4 11:28:24 2009 (r5665) @@ -3,7 +3,6 @@ osync_capabilities_parse osync_capabilities_ref osync_capabilities_unref -osync_capabilitiesobjtype_new osync_capability_get_displayname osync_capability_get_max osync_capability_get_maxoccurs Modified: branches/opensync-ticket1084/opensync/CMakeLists.txt ============================================================================== --- branches/opensync-ticket1084/opensync/CMakeLists.txt Thu Jun 4 11:05:48 2009 (r5664) +++ branches/opensync-ticket1084/opensync/CMakeLists.txt Thu Jun 4 11:28:24 2009 (r5665) @@ -6,6 +6,7 @@ SET( libopensync_LIB_SRCS archive/opensync_archive.c capabilities/opensync_capabilities.c + capabilities/opensync_capabilities_objtype.c capabilities/opensync_capability.c client/opensync_client.c client/opensync_client_proxy.c Modified: branches/opensync-ticket1084/opensync/capabilities/opensync-capabilities_internals.h ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync-capabilities_internals.h Thu Jun 4 11:05:48 2009 (r5664) +++ branches/opensync-ticket1084/opensync/capabilities/opensync-capabilities_internals.h Thu Jun 4 11:28:24 2009 (r5665) @@ -24,6 +24,7 @@ #define OPENSYNC_CAPABILITIES_INTERNALS_H_COLLECT #include "opensync_capabilities_internals.h" +#include "opensync_capabilities_objtype_internals.h" #include "opensync_capability_internals.h" #endif /* OPENSYNC_CAPABILITIES_INTERNALS_H_COLLECT */ Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.c ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.c Thu Jun 4 11:05:48 2009 (r5664) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.c Thu Jun 4 11:28:24 2009 (r5665) @@ -32,91 +32,6 @@ #include "opensync_capabilities_private.h" -OSyncCapabilitiesObjType *osync_capabilitiesobjtype_new(OSyncCapabilities *capabilities, const char *objtype, OSyncError **error) -{ - OSyncCapabilitiesObjType *capobjtype = NULL; - osync_assert(capabilities); - osync_assert(objtype); - - capobjtype = osync_try_malloc0(sizeof(OSyncCapabilitiesObjType), error); - if (!capobjtype) - goto error; - - capobjtype->name = osync_strdup(objtype); - - return capobjtype; - -error: - osync_trace(TRACE_EXIT_ERROR, "%s: %s" , __func__, osync_error_print(error)); - return NULL; -} - -OSyncCapabilitiesObjType *osync_capabilitiesobjtype_new_node(OSyncCapabilities *capabilities, xmlNode *node, OSyncError **error) -{ - xmlChar *objtype; - OSyncCapabilitiesObjType *capobjtype = NULL; - osync_assert(capabilities); - osync_assert(node); - - osync_assert(!xmlStrcmp(node->name, (const xmlChar *)"ObjType")); - objtype = xmlGetProp(node, (const xmlChar *)"Name"); - - if (!(capobjtype = osync_capabilitiesobjtype_new(capabilities, BAD_CAST objtype, error))) - goto error; - - osync_xml_free(objtype); - - return capobjtype; - -error: - osync_xml_free(objtype); - - osync_trace(TRACE_EXIT_ERROR, "%s: %s" , __func__, osync_error_print(error)); - return NULL; -} - -OSyncCapabilitiesObjType *osync_capabilitiesobjtype_get(OSyncCapabilities *capabilities, const char *objtype) -{ - OSyncList *l = NULL; - OSyncCapabilitiesObjType *capobjtype = NULL; - osync_assert(capabilities); - osync_assert(objtype); - - l = capabilities->objtypes; - for(; l != NULL; l = l->next) { - capobjtype = (OSyncCapabilitiesObjType *) l->data; - if(!strcmp(capobjtype->name, objtype)) - break; - } - - return capobjtype; -} - -OSyncCapabilitiesObjType *osync_capabilitiesobjtype_ref(OSyncCapabilitiesObjType *capsobjtype) -{ - osync_assert(capsobjtype); - - g_atomic_int_inc(&(capsobjtype->ref_count)); - - return capsobjtype; -} - -void osync_capabilitiesobjtype_unref(OSyncCapabilitiesObjType *capsobjtype) -{ - osync_assert(capsobjtype); - - if (g_atomic_int_dec_and_test(&(capsobjtype->ref_count))) { - OSyncList *l; - for (l = capsobjtype->capabilities; l; l = l->next) { - OSyncCapability *capability; - capability = (OSyncCapability *) l->data; - osync_capability_unref(capability); - /* TODO unlink from list */ - } - osync_free(capsobjtype); - } -} - OSyncCapabilities *osync_capabilities_new(OSyncError **error) { OSyncCapabilities *capabilities = NULL; @@ -164,7 +79,7 @@ cur = cur->children; for(; cur != NULL; cur = cur->next) { - OSyncCapabilitiesObjType *capabilitiesobjtype = osync_capabilitiesobjtype_new_node(capabilities, cur, error); + OSyncCapabilitiesObjType *capabilitiesobjtype = osync_capabilities_objtype_new_node(capabilities, cur, error); if (!capabilitiesobjtype) { osync_capabilities_unref(capabilities); goto error; @@ -209,7 +124,7 @@ for (l = capabilities->objtypes; l; l = l->next) { OSyncCapabilitiesObjType *objtype; objtype = (OSyncCapabilitiesObjType *) l->data; - osync_capabilitiesobjtype_unref(objtype); + osync_capabilities_objtype_unref(objtype); /* TODO unlink from list */ } osync_xml_free_doc(capabilities->doc); @@ -257,3 +172,21 @@ return capabilities; } + +OSyncCapabilitiesObjType *osync_capabilities_get_objtype(OSyncCapabilities *capabilities, const char *objtype) +{ + OSyncList *l = NULL; + OSyncCapabilitiesObjType *capobjtype = NULL; + osync_assert(capabilities); + osync_assert(objtype); + + l = capabilities->objtypes; + for(; l != NULL; l = l->next) { + capobjtype = (OSyncCapabilitiesObjType *) l->data; + if(!strcmp(osync_capabilities_objtype_get_name(capobjtype), objtype)) + break; + } + + return capobjtype; +} + Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.h ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.h Thu Jun 4 11:05:48 2009 (r5664) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.h Thu Jun 4 11:28:24 2009 (r5665) @@ -82,9 +82,6 @@ */ OSYNC_EXPORT osync_bool osync_capabilities_assemble(OSyncCapabilities *capabilities, char **buffer, int *size); - -OSYNC_EXPORT OSyncCapabilitiesObjType *osync_capabilitiesobjtype_new(OSyncCapabilities *capabilities, const char *objtype, OSyncError **error); - /*@}*/ #endif /*OPENSYNC_CAPABILITIES_H_*/ Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_internals.h ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_internals.h Thu Jun 4 11:05:48 2009 (r5664) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_internals.h Thu Jun 4 11:28:24 2009 (r5665) @@ -48,6 +48,14 @@ */ OSyncCapabilities *osync_capabilities_load(const char *file, OSyncError **error); +/** + * @brief Get the first capabilitiesobjtype for a given objtype from the capabilities + * @param capabilities The pointer to a capabilities object + * @param objtype The name of the objtype (e.g.: contact) + * @return The capabilitiesobjtype for a given objtype from the capabilities + */ +OSYNC_TEST_EXPORT OSyncCapabilitiesObjType *osync_capabilities_get_objtype(OSyncCapabilities *capabilities, const char *objtype); + /*@}*/ OSYNC_TEST_EXPORT OSyncCapabilityParameter *osync_capability_parameter_new(OSyncError **error); Added: branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_objtype.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_objtype.c Thu Jun 4 11:28:24 2009 (r5665) @@ -0,0 +1,105 @@ +/* + * libopensync - A synchronization framework + * Copyright (C) 2006 NetNix Finland Ltd <ne...@ne...> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Author: Daniel Friedrich <dan...@op...> + * + */ + +#include "opensync.h" +#include "opensync_internals.h" + +#include "opensync-capabilities.h" +#include "opensync-capabilities_internals.h" + +#include "opensync_capabilities_objtype.h" +#include "opensync_capabilities_objtype_private.h" + +OSyncCapabilitiesObjType *osync_capabilities_objtype_new(OSyncCapabilities *capabilities, const char *objtype, OSyncError **error) +{ + OSyncCapabilitiesObjType *capobjtype = NULL; + osync_assert(capabilities); + osync_assert(objtype); + + capobjtype = osync_try_malloc0(sizeof(OSyncCapabilitiesObjType), error); + if (!capobjtype) + goto error; + + capobjtype->name = osync_strdup(objtype); + + return capobjtype; + +error: + osync_trace(TRACE_EXIT_ERROR, "%s: %s" , __func__, osync_error_print(error)); + return NULL; +} + +OSyncCapabilitiesObjType *osync_capabilities_objtype_new_node(OSyncCapabilities *capabilities, xmlNode *node, OSyncError **error) +{ + xmlChar *objtype; + OSyncCapabilitiesObjType *capobjtype = NULL; + osync_assert(capabilities); + osync_assert(node); + + osync_assert(!xmlStrcmp(node->name, (const xmlChar *)"ObjType")); + objtype = xmlGetProp(node, (const xmlChar *)"Name"); + + if (!(capobjtype = osync_capabilities_objtype_new(capabilities, BAD_CAST objtype, error))) + goto error; + + osync_xml_free(objtype); + + return capobjtype; + +error: + osync_xml_free(objtype); + + osync_trace(TRACE_EXIT_ERROR, "%s: %s" , __func__, osync_error_print(error)); + return NULL; +} + +OSyncCapabilitiesObjType *osync_capabilities_objtype_ref(OSyncCapabilitiesObjType *capsobjtype) +{ + osync_assert(capsobjtype); + + g_atomic_int_inc(&(capsobjtype->ref_count)); + + return capsobjtype; +} + +void osync_capabilities_objtype_unref(OSyncCapabilitiesObjType *capsobjtype) +{ + osync_assert(capsobjtype); + + if (g_atomic_int_dec_and_test(&(capsobjtype->ref_count))) { + OSyncList *l; + for (l = capsobjtype->capabilities; l; l = l->next) { + OSyncCapability *capability; + capability = (OSyncCapability *) l->data; + osync_capability_unref(capability); + /* TODO unlink from list */ + } + osync_free(capsobjtype); + } +} + +const char *osync_capabilities_objtype_get_name(OSyncCapabilitiesObjType *capsobjtype) +{ + osync_assert(capsobjtype); + return capsobjtype->name; +} + Added: branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_objtype_internals.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_objtype_internals.h Thu Jun 4 11:28:24 2009 (r5665) @@ -0,0 +1,62 @@ +/* + * libopensync - A synchronization framework + * Copyright (C) 2006 NetNix Finland Ltd <ne...@ne...> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Author: Daniel Friedrich <dan...@op...> + * + */ + +#ifndef OPENSYNC_CAPABILITIES_OBJTYPE_INTERNALS_H_ +#define OPENSYNC_CAPABILITIES_OBJTYPE_INTERNALS_H_ + + +/** + * @defgroup OSyncCapabilitiesObjTypeInternalAPI OpenSync Capabilities Objtype Internals + * @ingroup OSyncCapabilitiesObjTypePrivate + * @brief The private part of the OSyncCapabilitiesObjType + * + */ +/*@{*/ + +/** + * @brief Creates a new capabilities object type object + * @param error The error which will hold the info in case of an error + * @return The pointer to the newly allocated capabilities object type object or NULL in case of error + */ + +OSYNC_TEST_EXPORT OSyncCapabilitiesObjType *osync_capabilities_objtype_new(OSyncCapabilities *capabilities, const char *objtype, OSyncError **error); + + +/** + * @brief Creates a new capabilitiesobjtype object + * @param capabilities The pointer to a capabilities object + * @param node The ObjType XML node + * @param error The error which will hold the info in case of an error + * @return The pointer to the newly allocated capabilitiesobjtype object or NULL in case of error + */ +OSYNC_TEST_EXPORT OSyncCapabilitiesObjType *osync_capabilities_objtype_new_node(OSyncCapabilities *capabilities, xmlNode *node, OSyncError **error); + +/** + * @brief Get name of objtype from capabilities object type object + * @param capabilities The pointer to a capabilities object type object + * @return Name as string of the capabilities object type object + */ +OSYNC_TEST_EXPORT const char *osync_capabilities_objtype_get_name(OSyncCapabilitiesObjType *capsobjtype); + +/*@}*/ + +#endif /*OPENSYNC_CAPABILITIES_OBJTYPE_INTERNAL_H_*/ Added: branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_objtype_private.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_objtype_private.h Thu Jun 4 11:28:24 2009 (r5665) @@ -0,0 +1,51 @@ +/* + * libopensync - A synchronization framework + * Copyright (C) 2006 NetNix Finland Ltd <ne...@ne...> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Author: Daniel Friedrich <dan...@op...> + * + */ + +#ifndef OPENSYNC_CAPABILITIES_OBJTYPE_PRIVATE_H_ +#define OPENSYNC_CAPABILITIES_OBJTYPE_PRIVATE_H_ + +/** + * @defgroup OSyncCapabilitiesPrivate OpenSync Capabilities Module Private + * @ingroup OSyncPrivate + * @defgroup OSyncCapabilitiesPrivateAPI OpenSync Capabilities Private + * @ingroup OSyncCapabilitiesPrivate + * @brief Private part of OpenSync Capabilities + */ + +/*@{*/ + +/** + * @brief Represent a CapabilitiesObjType object + */ +struct OSyncCapabilitiesObjType { + /** The reference counter for this object */ + int ref_count; + /** Name of ObjType */ + char *name; + /** Capability List */ + OSyncList *capabilities; /* OSyncCapapbility */ + +}; + +/*@}*/ + +#endif /*OPENSYNC_CAPABILITIES_OBJTYPE_PRIVATE_H_*/ Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_private.h ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_private.h Thu Jun 4 11:05:48 2009 (r5664) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_private.h Thu Jun 4 11:28:24 2009 (r5665) @@ -34,19 +34,6 @@ /*@{*/ /** - * @brief Represent a CapabilitiesObjType object - */ -struct OSyncCapabilitiesObjType { - /** The reference counter for this object */ - int ref_count; - /** Name of ObjType */ - char *name; - /** Capability List */ - OSyncList *capabilities; /* OSyncCapapbility */ - -}; - -/** * @brief Represent a Capabilities object */ struct OSyncCapabilities { @@ -58,23 +45,6 @@ xmlDocPtr doc; }; -/** - * @brief Creates a new capabilitiesobjtype object - * @param capabilities The pointer to a capabilities object - * @param node The ObjType XML node - * @param error The error which will hold the info in case of an error - * @return The pointer to the newly allocated capabilitiesobjtype object or NULL in case of error - */ -OSyncCapabilitiesObjType *osync_capabilitiesobjtype_new_node(OSyncCapabilities *capabilities, xmlNode *node, OSyncError **error); - -/** - * @brief Get the first capabilitiesobjtype for a given objtype from the capabilities - * @param capabilities The pointer to a capabilities object - * @param objtype The name of the objtype (e.g.: contact) - * @return The capabilitiesobjtype for a given objtype from the capabilities - */ -OSyncCapabilitiesObjType *osync_capabilitiesobjtype_get(OSyncCapabilities *capabilities, const char *objtype); - /*@}*/ #endif /*OPENSYNC_CAPABILITIES_PRIVATE_H_*/ Modified: branches/opensync-ticket1084/opensync/opensync-capabilities.h ============================================================================== --- branches/opensync-ticket1084/opensync/opensync-capabilities.h Thu Jun 4 11:05:48 2009 (r5664) +++ branches/opensync-ticket1084/opensync/opensync-capabilities.h Thu Jun 4 11:28:24 2009 (r5665) @@ -24,6 +24,7 @@ OPENSYNC_BEGIN_DECLS #include "capabilities/opensync_capabilities.h" +#include "capabilities/opensync_capabilities_objtype.h" #include "capabilities/opensync_capability.h" OPENSYNC_END_DECLS Modified: branches/opensync-ticket1084/tests/capabilities-tests/check_capabilities.c ============================================================================== --- branches/opensync-ticket1084/tests/capabilities-tests/check_capabilities.c Thu Jun 4 11:05:48 2009 (r5664) +++ branches/opensync-ticket1084/tests/capabilities-tests/check_capabilities.c Thu Jun 4 11:28:24 2009 (r5665) @@ -30,7 +30,7 @@ fail_unless(capabilities != NULL, NULL); fail_unless(error == NULL, NULL); - OSyncCapabilitiesObjType *capsobjtype = osync_capabilitiesobjtype_new(capabilities, "contact", &error); + OSyncCapabilitiesObjType *capsobjtype = osync_capabilities_objtype_new(capabilities, "contact", &error); fail_unless(capsobjtype != NULL, NULL); fail_unless(error == NULL, NULL); |
From: <svn...@op...> - 2009-06-04 09:27:25
|
Author: bellmich Date: Thu Jun 4 11:27:14 2009 New Revision: 1087 URL: http://libsyncml.opensync.org/changeset/1087 Log: updated release instructions Modified: trunk/RELEASE Modified: trunk/RELEASE ============================================================================== --- trunk/RELEASE Thu Jun 4 11:11:41 2009 (r1086) +++ trunk/RELEASE Thu Jun 4 11:27:14 2009 (r1087) @@ -46,7 +46,10 @@ (NEVER use "svn cp" because you must replace the external entities of the trunk directory with hard copies of the actual state.) - - create tarballs with "cmake $SOURCES; make package_source" (out of source build!) + - create tarballs for an out-of-source-build with + "cmake tags/libsyncml-$MAJOR.$MINOR.$PATCH -B/tmp/build/libsyncml-$MAJOR.$MINOR.$PATCH", + "cd /tmp/build/libsyncml-$MAJOR.$MINOR.$PATCH", + "make package_source" - write checksums with md5sum from the tarballs to a file with the same name like the tarballs without the tar and compression suffixes @@ -55,8 +58,11 @@ md5sum libsyncml-$MAJOR.$MINOR.$PATCH.tar.* > libsyncml-$MAJOR.$MINOR.$PATCH.md5sum md5sum -c libsyncml-$MAJOR.$MINOR.$PATCH.md5sum - - upload the tarballs and the checksum file to releases. - make sure the version numbers are the same! + - upload the tarballs and the checksum file to the File Release System + of SourceForge + "sftp $US...@fr...", + "cd uploads", + "put libsyncml-$MAJOR.$MINOR.$PATCH.*" - Annouce the release on the mailing list Tips: |
From: <svn...@op...> - 2009-06-04 09:05:52
|
Author: dgollub Date: Thu Jun 4 11:05:48 2009 New Revision: 5664 URL: http://www.opensync.org/changeset/5664 Log: Add missing symbol entry refs #1084 Modified: branches/opensync-ticket1084/opensync.sym Modified: branches/opensync-ticket1084/opensync.sym ============================================================================== --- branches/opensync-ticket1084/opensync.sym Thu Jun 4 11:05:28 2009 (r5663) +++ branches/opensync-ticket1084/opensync.sym Thu Jun 4 11:05:48 2009 (r5664) @@ -3,6 +3,7 @@ osync_capabilities_parse osync_capabilities_ref osync_capabilities_unref +osync_capabilitiesobjtype_new osync_capability_get_displayname osync_capability_get_max osync_capability_get_maxoccurs |
From: <svn...@op...> - 2009-06-04 09:05:37
|
Author: dgollub Date: Thu Jun 4 11:05:28 2009 New Revision: 5663 URL: http://www.opensync.org/changeset/5663 Log: Rename internal member capabilities interfaces to fit the OSyncMember namespace refs #1084 Modified: branches/opensync-ticket1084/opensync/group/opensync_member.c branches/opensync-ticket1084/opensync/group/opensync_member_internals.h Modified: branches/opensync-ticket1084/opensync/group/opensync_member.c ============================================================================== --- branches/opensync-ticket1084/opensync/group/opensync_member.c Thu Jun 4 10:56:54 2009 (r5662) +++ branches/opensync-ticket1084/opensync/group/opensync_member.c Thu Jun 4 11:05:28 2009 (r5663) @@ -410,15 +410,14 @@ } osync_xml_free_doc(doc); - if(osync_capabilities_member_has_capabilities(member)) - { - OSyncCapabilities* capabilities = osync_capabilities_member_get_capabilities(member, error); - if(!capabilities) - goto error; - if(!osync_member_set_capabilities(member, capabilities, error)) - goto error; - osync_capabilities_unref(capabilities); - } + if (osync_member_has_capabilities(member)) { + OSyncCapabilities* capabilities = osync_member_load_capabilities(member, error); + if (!capabilities) + goto error; + if (!osync_member_set_capabilities(member, capabilities, error)) + goto error; + osync_capabilities_unref(capabilities); + } osync_trace(TRACE_EXIT, "%s", __func__); return TRUE; @@ -578,8 +577,8 @@ } capabilities = osync_member_get_capabilities(member); - if(capabilities) { - if(!osync_capabilities_member_set_capabilities(member, capabilities, error)) { + if (capabilities) { + if (!osync_member_save_capabilities(member, capabilities, error)) { goto error; } } @@ -968,7 +967,7 @@ return uptodate; } -osync_bool osync_capabilities_member_has_capabilities(OSyncMember *member) +osync_bool osync_member_has_capabilities(OSyncMember *member) { char *filename = NULL; gboolean res = FALSE; @@ -984,7 +983,7 @@ return res; } -OSyncCapabilities* osync_capabilities_member_get_capabilities(OSyncMember *member, OSyncError** error) +OSyncCapabilities* osync_member_load_capabilities(OSyncMember *member, OSyncError** error) { unsigned int size; char* buffer, *filename; @@ -1014,7 +1013,7 @@ return capabilities; } -osync_bool osync_capabilities_member_set_capabilities(OSyncMember *member, OSyncCapabilities* capabilities, OSyncError** error) +osync_bool osync_member_save_capabilities(OSyncMember *member, OSyncCapabilities* capabilities, OSyncError** error) { int size; char* buffer, *filename; Modified: branches/opensync-ticket1084/opensync/group/opensync_member_internals.h ============================================================================== --- branches/opensync-ticket1084/opensync/group/opensync_member_internals.h Thu Jun 4 10:56:54 2009 (r5662) +++ branches/opensync-ticket1084/opensync/group/opensync_member_internals.h Thu Jun 4 11:05:28 2009 (r5663) @@ -142,10 +142,10 @@ * @param member The member which should be tested for cached capabilities * @return TRUE if the capabilities for this member are cached otherwise FALSE */ -osync_bool osync_capabilities_member_has_capabilities(OSyncMember *member); +OSYNC_TEST_EXPORT osync_bool osync_member_has_capabilities(OSyncMember *member); /** - * @brief Get the cached capabilities of a member. The cache capabilities is stored as + * @brief Load the cached capabilities of a member. The cache capabilities is stored as * "capabilities.xml" in the member directory. This function should be only used * internal. To get the current capabilities of a member please use: * osync_member_get_capabilities() @@ -154,10 +154,10 @@ * @param error The error which will hold the info in case of an error * @return The objtype of the xmlformat */ -OSyncCapabilities* osync_capabilities_member_get_capabilities(OSyncMember *member, OSyncError** error); +OSYNC_TEST_EXPORT OSyncCapabilities* osync_member_load_capabilities(OSyncMember *member, OSyncError** error); /** - * @brief Set the capabilities of a member. The capabilities get cached in the member directory + * @brief Save the capabilities of a member. The capabilities get cached in the member directory * as "capabilities.xml". This function should be only used internal. To set member * capabilities, please use: * osync_member_set_capabilities() @@ -167,7 +167,7 @@ * @param error The error which will hold the info in case of an error * @return TRUE on success otherwise FALSE */ -osync_bool osync_capabilities_member_set_capabilities(OSyncMember *member, OSyncCapabilities* capabilities, OSyncError** error); +OSYNC_TEST_EXPORT osync_bool osync_member_save_capabilities(OSyncMember *member, OSyncCapabilities* capabilities, OSyncError** error); /*@}*/ |
From: <svn...@op...> - 2009-06-04 08:57:04
|
Author: dgollub Date: Thu Jun 4 10:56:54 2009 New Revision: 5662 URL: http://www.opensync.org/changeset/5662 Log: Move member related capabiliteis functions to opensync_member. TODO: rename interfaces (doesn't hurt just used internally) refs #1084 Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.c branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_internals.h branches/opensync-ticket1084/opensync/group/opensync_member.c branches/opensync-ticket1084/opensync/group/opensync_member_internals.h Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.c ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.c Mon Jun 1 11:38:55 2009 (r5661) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.c Thu Jun 4 10:56:54 2009 (r5662) @@ -257,73 +257,3 @@ return capabilities; } -osync_bool osync_capabilities_member_has_capabilities(OSyncMember *member) -{ - char *filename = NULL; - gboolean res = FALSE; - - osync_trace(TRACE_ENTRY, "%s(%p)", __func__, member); - osync_assert(member); - - filename = osync_strdup_printf("%s%ccapabilities.xml", osync_member_get_configdir(member), G_DIR_SEPARATOR); - res = g_file_test(filename, G_FILE_TEST_IS_REGULAR); - osync_free(filename); - - osync_trace(TRACE_EXIT, "%s: %i", __func__, res); - return res; -} - -OSyncCapabilities* osync_capabilities_member_get_capabilities(OSyncMember *member, OSyncError** error) -{ - unsigned int size; - char* buffer, *filename; - OSyncCapabilities *capabilities; - osync_bool res; - - osync_trace(TRACE_ENTRY, "%s(%p, %p)", __func__, member, error); - osync_assert(member); - - filename = osync_strdup_printf("%s%ccapabilities.xml", osync_member_get_configdir(member), G_DIR_SEPARATOR); - res = osync_file_read(filename, &buffer, &size, error); - osync_free(filename); - - if(!res) { - osync_trace(TRACE_EXIT_ERROR, "%s: %s" , __func__, osync_error_print(error)); - return NULL; - } - - capabilities = osync_capabilities_parse(buffer, size, error); - osync_free(buffer); - if(!capabilities) { - osync_trace(TRACE_EXIT_ERROR, "%s: %s" , __func__, osync_error_print(error)); - return NULL; - } - - osync_trace(TRACE_EXIT, "%s: %p", __func__, capabilities); - return capabilities; -} - -osync_bool osync_capabilities_member_set_capabilities(OSyncMember *member, OSyncCapabilities* capabilities, OSyncError** error) -{ - int size; - char* buffer, *filename; - osync_bool res; - - osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, member, capabilities, error); - osync_assert(member); - osync_assert(capabilities); - - osync_capabilities_assemble(capabilities, &buffer, &size); - filename = osync_strdup_printf("%s%ccapabilities.xml", osync_member_get_configdir(member), G_DIR_SEPARATOR); - res = osync_file_write(filename, buffer, size, 0600, error); - osync_free(filename); - osync_free(buffer); - if(!res) { - osync_trace(TRACE_EXIT_ERROR, "%s: %s" , __func__, osync_error_print(error)); - return FALSE; - } - - osync_trace(TRACE_EXIT, "%s: %i", __func__, res); - return res; -} - Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_internals.h ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_internals.h Mon Jun 1 11:38:55 2009 (r5661) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_internals.h Thu Jun 4 10:56:54 2009 (r5662) @@ -48,38 +48,6 @@ */ OSyncCapabilities *osync_capabilities_load(const char *file, OSyncError **error); -/** - * @brief Checks if the capabilities are already cached - * @param member The member which should be tested for cached capabilities - * @return TRUE if the capabilities for this member are cached otherwise FALSE - */ -osync_bool osync_capabilities_member_has_capabilities(OSyncMember *member); - -/** - * @brief Get the cached capabilities of a member. The cache capabilities is stored as - * "capabilities.xml" in the member directory. This function should be only used - * internal. To get the current capabilities of a member please use: - * osync_member_get_capabilities() - * - * @param member The pointer to a member object - * @param error The error which will hold the info in case of an error - * @return The objtype of the xmlformat - */ -OSyncCapabilities* osync_capabilities_member_get_capabilities(OSyncMember *member, OSyncError** error); - -/** - * @brief Set the capabilities of a member. The capabilities get cached in the member directory - * as "capabilities.xml". This function should be only used internal. To set member - * capabilities, please use: - * osync_member_set_capabilities() - * - * @param member The pointer to a member object - * @param capabilities The pointer to a capabilities object - * @param error The error which will hold the info in case of an error - * @return TRUE on success otherwise FALSE - */ -osync_bool osync_capabilities_member_set_capabilities(OSyncMember *member, OSyncCapabilities* capabilities, OSyncError** error); - /*@}*/ OSYNC_TEST_EXPORT OSyncCapabilityParameter *osync_capability_parameter_new(OSyncError **error); Modified: branches/opensync-ticket1084/opensync/group/opensync_member.c ============================================================================== --- branches/opensync-ticket1084/opensync/group/opensync_member.c Mon Jun 1 11:38:55 2009 (r5661) +++ branches/opensync-ticket1084/opensync/group/opensync_member.c Thu Jun 4 10:56:54 2009 (r5662) @@ -967,3 +967,74 @@ osync_trace(TRACE_EXIT, "%s(%p)", __func__, member); return uptodate; } + +osync_bool osync_capabilities_member_has_capabilities(OSyncMember *member) +{ + char *filename = NULL; + gboolean res = FALSE; + + osync_trace(TRACE_ENTRY, "%s(%p)", __func__, member); + osync_assert(member); + + filename = osync_strdup_printf("%s%ccapabilities.xml", osync_member_get_configdir(member), G_DIR_SEPARATOR); + res = g_file_test(filename, G_FILE_TEST_IS_REGULAR); + osync_free(filename); + + osync_trace(TRACE_EXIT, "%s: %i", __func__, res); + return res; +} + +OSyncCapabilities* osync_capabilities_member_get_capabilities(OSyncMember *member, OSyncError** error) +{ + unsigned int size; + char* buffer, *filename; + OSyncCapabilities *capabilities; + osync_bool res; + + osync_trace(TRACE_ENTRY, "%s(%p, %p)", __func__, member, error); + osync_assert(member); + + filename = osync_strdup_printf("%s%ccapabilities.xml", osync_member_get_configdir(member), G_DIR_SEPARATOR); + res = osync_file_read(filename, &buffer, &size, error); + osync_free(filename); + + if(!res) { + osync_trace(TRACE_EXIT_ERROR, "%s: %s" , __func__, osync_error_print(error)); + return NULL; + } + + capabilities = osync_capabilities_parse(buffer, size, error); + osync_free(buffer); + if(!capabilities) { + osync_trace(TRACE_EXIT_ERROR, "%s: %s" , __func__, osync_error_print(error)); + return NULL; + } + + osync_trace(TRACE_EXIT, "%s: %p", __func__, capabilities); + return capabilities; +} + +osync_bool osync_capabilities_member_set_capabilities(OSyncMember *member, OSyncCapabilities* capabilities, OSyncError** error) +{ + int size; + char* buffer, *filename; + osync_bool res; + + osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, member, capabilities, error); + osync_assert(member); + osync_assert(capabilities); + + osync_capabilities_assemble(capabilities, &buffer, &size); + filename = osync_strdup_printf("%s%ccapabilities.xml", osync_member_get_configdir(member), G_DIR_SEPARATOR); + res = osync_file_write(filename, buffer, size, 0600, error); + osync_free(filename); + osync_free(buffer); + if(!res) { + osync_trace(TRACE_EXIT_ERROR, "%s: %s" , __func__, osync_error_print(error)); + return FALSE; + } + + osync_trace(TRACE_EXIT, "%s: %i", __func__, res); + return res; +} + Modified: branches/opensync-ticket1084/opensync/group/opensync_member_internals.h ============================================================================== --- branches/opensync-ticket1084/opensync/group/opensync_member_internals.h Mon Jun 1 11:38:55 2009 (r5661) +++ branches/opensync-ticket1084/opensync/group/opensync_member_internals.h Thu Jun 4 10:56:54 2009 (r5662) @@ -137,6 +137,37 @@ */ OSYNC_TEST_EXPORT const char *osync_member_nth_objtype(OSyncMember *member, int nth); +/** + * @brief Checks if the capabilities are already cached + * @param member The member which should be tested for cached capabilities + * @return TRUE if the capabilities for this member are cached otherwise FALSE + */ +osync_bool osync_capabilities_member_has_capabilities(OSyncMember *member); + +/** + * @brief Get the cached capabilities of a member. The cache capabilities is stored as + * "capabilities.xml" in the member directory. This function should be only used + * internal. To get the current capabilities of a member please use: + * osync_member_get_capabilities() + * + * @param member The pointer to a member object + * @param error The error which will hold the info in case of an error + * @return The objtype of the xmlformat + */ +OSyncCapabilities* osync_capabilities_member_get_capabilities(OSyncMember *member, OSyncError** error); + +/** + * @brief Set the capabilities of a member. The capabilities get cached in the member directory + * as "capabilities.xml". This function should be only used internal. To set member + * capabilities, please use: + * osync_member_set_capabilities() + * + * @param member The pointer to a member object + * @param capabilities The pointer to a capabilities object + * @param error The error which will hold the info in case of an error + * @return TRUE on success otherwise FALSE + */ +osync_bool osync_capabilities_member_set_capabilities(OSyncMember *member, OSyncCapabilities* capabilities, OSyncError** error); /*@}*/ |
From: <svn...@op...> - 2009-06-04 08:08:44
|
Author: bellmich Date: Thu Jun 4 10:08:38 2009 New Revision: 1085 URL: http://libsyncml.opensync.org/changeset/1085 Log: committed patch for ticket #240 from Sascha Peilicke All header files of the high level API are missing the extern "C" declarations for C++. Modified: trunk/libsyncml/data_sync_api/callbacks.h trunk/libsyncml/data_sync_api/defines.h trunk/libsyncml/data_sync_api/standard.h Modified: trunk/libsyncml/data_sync_api/callbacks.h ============================================================================== --- trunk/libsyncml/data_sync_api/callbacks.h Fri May 15 15:59:56 2009 (r1084) +++ trunk/libsyncml/data_sync_api/callbacks.h Thu Jun 4 10:08:38 2009 (r1085) @@ -30,6 +30,11 @@ #include <libsyncml/data_sync_api/standard.h> +#ifdef __cplusplus +extern "C" +{ +#endif + /* required callbacks - the event handler */ typedef void (* SmlDataSyncEventCallback) ( @@ -139,6 +144,10 @@ SmlDataSyncObject *dsObject, SmlDataSyncChangeStatusCallback callback); +#ifdef __cplusplus +} +#endif + #endif /* _SML_DATA_SYNC_API_CALLBACKS_H_ */ /*@}*/ Modified: trunk/libsyncml/data_sync_api/defines.h ============================================================================== --- trunk/libsyncml/data_sync_api/defines.h Fri May 15 15:59:56 2009 (r1084) +++ trunk/libsyncml/data_sync_api/defines.h Thu Jun 4 10:08:38 2009 (r1085) @@ -43,6 +43,11 @@ #ifndef _SML_DATA_SYNC_API_CONFIG_H_ #define _SML_DATA_SYNC_API_CONFIG_H_ +#ifdef __cplusplus +extern "C" +{ +#endif + #include <libsyncml/sml_defines.h> /* SyncML default limitations */ @@ -90,6 +95,10 @@ #define SML_CONTENT_TYPE_MESSAGE "message" #define SML_CONTENT_TYPE_VIDEO "video" +#ifdef __cplusplus +} +#endif + #endif /* _SML_DATA_SYNC_API_CONFIG_H_ */ /*@}*/ Modified: trunk/libsyncml/data_sync_api/standard.h ============================================================================== --- trunk/libsyncml/data_sync_api/standard.h Fri May 15 15:59:56 2009 (r1084) +++ trunk/libsyncml/data_sync_api/standard.h Thu Jun 4 10:08:38 2009 (r1085) @@ -35,6 +35,11 @@ #include <libsyncml/syncml.h> +#ifdef __cplusplus +extern "C" +{ +#endif + /*! @brief These are all possible events which the high level API sends. */ typedef enum SmlDataSyncEventType { @@ -125,6 +130,10 @@ void smlDataSyncObjectUnref(SmlDataSyncObject **dsObject); +#ifdef __cplusplus +} +#endif + #endif /* _SML_DATA_SYNC_API_STANDARD_H_ */ /*@}*/ |
From: <svn...@op...> - 2009-06-01 09:38:59
|
Author: dgollub Date: Mon Jun 1 11:38:55 2009 New Revision: 5661 URL: http://www.opensync.org/changeset/5661 Log: Add glib2 2.12 version requirmnet to the coding style file Modified: trunk/CODING Modified: trunk/CODING ============================================================================== --- trunk/CODING Mon Jun 1 11:37:45 2009 (r5660) +++ trunk/CODING Mon Jun 1 11:38:55 2009 (r5661) @@ -161,6 +161,7 @@ * Use const; * Use static for internal functions; * Use safe glib functions where possible; + * Use glib functions which are part of at least glib2 version 2.12 * Check validity of all received parameters; * Use osync_assert() while developing; * Do not use alloca() or other non-recommended functions; |
From: <svn...@op...> - 2009-06-01 09:37:52
|
Author: dgollub Date: Mon Jun 1 11:37:45 2009 New Revision: 5660 URL: http://www.opensync.org/changeset/5660 Log: Set minimum required/supported glib2 version to 2.12 Refs discussion on opensync-devel http://thread.gmane.org/gmane.comp.misc.opensync.devel/3901/focus=3902 Modified: trunk/CMakeLists.txt Modified: trunk/CMakeLists.txt ============================================================================== --- trunk/CMakeLists.txt Sun May 31 23:44:53 2009 (r5659) +++ trunk/CMakeLists.txt Mon Jun 1 11:37:45 2009 (r5660) @@ -59,6 +59,11 @@ ############################################### +# Minimum Requirment for glib2 to be compatible with +# various distros: RHEL5, maemo, ... +# http://thread.gmane.org/gmane.comp.misc.opensync.devel/3901/focus=3902 +SET ( GLIB2_MIN_VERSION "2.12" ) + FIND_PACKAGE( GLIB2 REQUIRED ) FIND_PACKAGE( GTHREAD2 REQUIRED ) FIND_PACKAGE( GMODULE2 REQUIRED ) |
From: <svn...@op...> - 2009-05-31 21:44:55
|
Author: dgollub Date: Sun May 31 23:44:53 2009 New Revision: 5659 URL: http://www.opensync.org/changeset/5659 Log: Adapted test fixues for capabilities_parse to new capabilities schema. refs #1084 Modified: branches/opensync-ticket1084/tests/data/capabilities/capabilities.xml Modified: branches/opensync-ticket1084/tests/data/capabilities/capabilities.xml ============================================================================== --- branches/opensync-ticket1084/tests/data/capabilities/capabilities.xml Sun May 31 23:41:35 2009 (r5658) +++ branches/opensync-ticket1084/tests/data/capabilities/capabilities.xml Sun May 31 23:44:53 2009 (r5659) @@ -1,16 +1,15 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<capabilities> - <!-- Contacts for the brand new Foo 2000 --> - <contact> - <Name> - <LastName /> - </Name> - <Telephone /> - <Categories /> - <Address> - <Street /> - <City /> - <Region /> - </Address> - </contact> -</capabilities> +<Capabilities CapsFormat="evo2-Caps" Version="0"> + <ObjType Name="contact"> + <Cap><Name>address</Name></Cap> + <Cap><Name>address_label_home</Name></Cap> + <Cap><Name>address_label_other</Name></Cap> + <Cap><Name>address_label_work</Name></Cap> + <Cap><Name>email</Name></Cap> + <Cap><Name>full_name</Name></Cap> + <Cap><Name>im_jabber</Name></Cap> + <Cap><MaxOccurs>1</MaxOccurs><Name>name</Name></Cap> + <Cap><Name>nickname</Name></Cap> + </ObjType> +</Capabilities> + |
From: <svn...@op...> - 2009-05-31 21:41:42
|
Author: dgollub Date: Sun May 31 23:41:35 2009 New Revision: 5658 URL: http://www.opensync.org/changeset/5658 Log: Adapted testcase capability_new Dropped capabilities_sort * new OSyncCapabilities object will work on a sorted list * list_insert_sorted() refs #1084 Modified: branches/opensync-ticket1084/tests/CMakeLists.txt branches/opensync-ticket1084/tests/capabilities-tests/check_capabilities.c Modified: branches/opensync-ticket1084/tests/CMakeLists.txt ============================================================================== --- branches/opensync-ticket1084/tests/CMakeLists.txt Sun May 31 23:39:57 2009 (r5657) +++ branches/opensync-ticket1084/tests/CMakeLists.txt Sun May 31 23:41:35 2009 (r5658) @@ -53,7 +53,6 @@ OSYNC_TESTCASE(capabilities capabilities_new) OSYNC_TESTCASE(capabilities capability_new) OSYNC_TESTCASE(capabilities capabilities_parse) -OSYNC_TESTCASE(capabilities capabilities_sort) BUILD_CHECK_TEST(client client-tests/check_client.c ${TEST_TARGET_LIBRARIES} ) OSYNC_TESTCASE(client client_new) Modified: branches/opensync-ticket1084/tests/capabilities-tests/check_capabilities.c ============================================================================== --- branches/opensync-ticket1084/tests/capabilities-tests/check_capabilities.c Sun May 31 23:39:57 2009 (r5657) +++ branches/opensync-ticket1084/tests/capabilities-tests/check_capabilities.c Sun May 31 23:41:35 2009 (r5658) @@ -29,8 +29,12 @@ OSyncCapabilities *capabilities = osync_capabilities_new(&error); fail_unless(capabilities != NULL, NULL); fail_unless(error == NULL, NULL); + + OSyncCapabilitiesObjType *capsobjtype = osync_capabilitiesobjtype_new(capabilities, "contact", &error); + fail_unless(capsobjtype != NULL, NULL); + fail_unless(error == NULL, NULL); - OSyncCapability *capability = osync_capability_new(capabilities, "contact", "Name", &error); + OSyncCapability *capability = osync_capability_new(capsobjtype, "Name", &error); fail_unless(capability != NULL, NULL); fail_unless(error == NULL, NULL); @@ -61,33 +65,9 @@ } END_TEST -START_TEST (capabilities_sort) -{ - char *testbed = setup_testbed("capabilities"); - - OSyncError *error = NULL; - char* buffer; - unsigned int size; - fail_unless(osync_file_read("capabilities.xml", &buffer, &size, &error), NULL); - - OSyncCapabilities *capabilities = osync_capabilities_parse(buffer, size, &error); - fail_unless(capabilities != NULL, NULL); - fail_unless(error == NULL, NULL); - - osync_capabilities_sort(capabilities); - - osync_capabilities_unref(capabilities); - - g_free(buffer); - - destroy_testbed(testbed); -} -END_TEST - OSYNC_TESTCASE_START("capabilities") OSYNC_TESTCASE_ADD(capabilities_new) OSYNC_TESTCASE_ADD(capability_new) OSYNC_TESTCASE_ADD(capabilities_parse) -OSYNC_TESTCASE_ADD(capabilities_sort) OSYNC_TESTCASE_END |
From: <svn...@op...> - 2009-05-31 21:40:04
|
Author: dgollub Date: Sun May 31 23:39:57 2009 New Revision: 5657 URL: http://www.opensync.org/changeset/5657 Log: Splitted osync_capabilitiesobjtype_new() into osync_capabilitiesobjtype_new() and osync_capabilitiesobjtype_new_node(). Later one is for internal use only, parsing the XML document. First one is for assembling capabilities from plugin space. refs #1084 Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.c branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.h branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_private.h Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.c ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.c Sun May 31 23:30:32 2009 (r5656) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.c Sun May 31 23:39:57 2009 (r5657) @@ -32,7 +32,26 @@ #include "opensync_capabilities_private.h" -OSyncCapabilitiesObjType *osync_capabilitiesobjtype_new(OSyncCapabilities *capabilities, xmlNode *node, OSyncError **error) +OSyncCapabilitiesObjType *osync_capabilitiesobjtype_new(OSyncCapabilities *capabilities, const char *objtype, OSyncError **error) +{ + OSyncCapabilitiesObjType *capobjtype = NULL; + osync_assert(capabilities); + osync_assert(objtype); + + capobjtype = osync_try_malloc0(sizeof(OSyncCapabilitiesObjType), error); + if (!capobjtype) + goto error; + + capobjtype->name = osync_strdup(objtype); + + return capobjtype; + +error: + osync_trace(TRACE_EXIT_ERROR, "%s: %s" , __func__, osync_error_print(error)); + return NULL; +} + +OSyncCapabilitiesObjType *osync_capabilitiesobjtype_new_node(OSyncCapabilities *capabilities, xmlNode *node, OSyncError **error) { xmlChar *objtype; OSyncCapabilitiesObjType *capobjtype = NULL; @@ -42,26 +61,16 @@ osync_assert(!xmlStrcmp(node->name, (const xmlChar *)"ObjType")); objtype = xmlGetProp(node, (const xmlChar *)"Name"); - if (!objtype || *objtype == '\0') { - - if (objtype) - osync_xml_free(objtype); - - osync_error_set(error, OSYNC_ERROR_MISCONFIGURATION, "Capabilities Information is malformed. Object Type Name is missing."); + if (!(capobjtype = osync_capabilitiesobjtype_new(capabilities, BAD_CAST objtype, error))) goto error; - } - - capobjtype = osync_try_malloc0(sizeof(OSyncCapabilitiesObjType), error); - if (!capobjtype) - goto error; - - capobjtype->name = osync_strdup(objtype); osync_xml_free(objtype); return capobjtype; -error: +error: + osync_xml_free(objtype); + osync_trace(TRACE_EXIT_ERROR, "%s: %s" , __func__, osync_error_print(error)); return NULL; } @@ -155,7 +164,7 @@ cur = cur->children; for(; cur != NULL; cur = cur->next) { - OSyncCapabilitiesObjType *capabilitiesobjtype = osync_capabilitiesobjtype_new(capabilities, cur, error); + OSyncCapabilitiesObjType *capabilitiesobjtype = osync_capabilitiesobjtype_new_node(capabilities, cur, error); if (!capabilitiesobjtype) { osync_capabilities_unref(capabilities); goto error; Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.h ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.h Sun May 31 23:30:32 2009 (r5656) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.h Sun May 31 23:39:57 2009 (r5657) @@ -82,6 +82,9 @@ */ OSYNC_EXPORT osync_bool osync_capabilities_assemble(OSyncCapabilities *capabilities, char **buffer, int *size); + +OSYNC_EXPORT OSyncCapabilitiesObjType *osync_capabilitiesobjtype_new(OSyncCapabilities *capabilities, const char *objtype, OSyncError **error); + /*@}*/ #endif /*OPENSYNC_CAPABILITIES_H_*/ Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_private.h ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_private.h Sun May 31 23:30:32 2009 (r5656) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_private.h Sun May 31 23:39:57 2009 (r5657) @@ -65,7 +65,7 @@ * @param error The error which will hold the info in case of an error * @return The pointer to the newly allocated capabilitiesobjtype object or NULL in case of error */ -OSyncCapabilitiesObjType *osync_capabilitiesobjtype_new(OSyncCapabilities *capabilities, xmlNode *node, OSyncError **error); +OSyncCapabilitiesObjType *osync_capabilitiesobjtype_new_node(OSyncCapabilities *capabilities, xmlNode *node, OSyncError **error); /** * @brief Get the first capabilitiesobjtype for a given objtype from the capabilities |
From: <svn...@op...> - 2009-05-31 21:30:41
|
Author: dgollub Date: Sun May 31 23:30:32 2009 New Revision: 5656 URL: http://www.opensync.org/changeset/5656 Log: Adapt python wrapper to api changes Only dropped missing interface from wrapper. TODO: wrap new interfaces refs #1084 Modified: branches/opensync-ticket1084/wrapper/opensync-merger.i Modified: branches/opensync-ticket1084/wrapper/opensync-merger.i ============================================================================== --- branches/opensync-ticket1084/wrapper/opensync-merger.i Sun May 31 23:23:55 2009 (r5655) +++ branches/opensync-ticket1084/wrapper/opensync-merger.i Sun May 31 23:30:32 2009 (r5656) @@ -1,8 +1,8 @@ typedef struct {} Capability; %extend Capability { - Capability(Capabilities *capabilities, const char *objtype, const char *name) { + Capability(OSyncCapabilitiesObjType *capobjtype, const char *name) { Error *err = NULL; - Capability *cap = osync_capability_new(capabilities, objtype, name, &err); + Capability *cap = osync_capability_new(capobjtype, name, &err); if (raise_exception_on_error(err)) return NULL; else @@ -17,26 +17,6 @@ return osync_capability_get_name(self); } - Capability *get_next() { - return osync_capability_get_next(self); - } - - bool has_key() { - return osync_capability_has_key(self); - } - - int get_key_count() { - return osync_capability_get_key_count(self); - } - - const char *get_nth_key(int nth) { - return osync_capability_get_nth_key(self, nth); - } - - void add_key(const char *name) { - osync_capability_add_key(self, name); - } - %pythoncode %{ name = property(get_name) @@ -44,11 +24,9 @@ __oldinit = __init__ def __init__(self, *args): self.__oldinit(*args) - self.keys = _ListWrapper(self.get_key_count, self.get_nth_key) %} } - typedef struct {} Capabilities; %extend Capabilities { Capabilities() { |
From: <svn...@op...> - 2009-05-31 21:24:02
|
Author: dgollub Date: Sun May 31 23:23:55 2009 New Revision: 5655 URL: http://www.opensync.org/changeset/5655 Log: Dropped more obsolate OSyncCapabilities Interfaces refs #1084 Modified: branches/opensync-ticket1084/opensync.sym branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.c branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_internals.h branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_private.h branches/opensync-ticket1084/opensync/capabilities/opensync_capability.c branches/opensync-ticket1084/opensync/capabilities/opensync_capability.h branches/opensync-ticket1084/opensync/capabilities/opensync_capability_private.h branches/opensync-ticket1084/opensync/opensync.h Modified: branches/opensync-ticket1084/opensync.sym ============================================================================== --- branches/opensync-ticket1084/opensync.sym Sun May 31 21:49:06 2009 (r5654) +++ branches/opensync-ticket1084/opensync.sym Sun May 31 23:23:55 2009 (r5655) @@ -1,25 +1,16 @@ osync_capabilities_assemble -osync_capabilities_get_first osync_capabilities_new osync_capabilities_parse osync_capabilities_ref osync_capabilities_unref -osync_capability_add_key -osync_capability_get_child osync_capability_get_displayname -osync_capability_get_key_count osync_capability_get_max osync_capability_get_maxoccurs osync_capability_get_min osync_capability_get_name -osync_capability_get_next -osync_capability_get_nth_key osync_capability_get_parameter -osync_capability_get_parent -osync_capability_get_prev osync_capability_get_type osync_capability_get_valenums -osync_capability_has_key osync_capability_new osync_capability_set_displayname osync_capability_set_max Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.c ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.c Sun May 31 21:49:06 2009 (r5654) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities.c Sun May 31 23:23:55 2009 (r5655) @@ -32,48 +32,81 @@ #include "opensync_capabilities_private.h" -OSyncCapabilitiesObjType *osync_capabilitiesobjtype_new(OSyncCapabilities *capabilities, xmlNodePtr node, OSyncError **error) +OSyncCapabilitiesObjType *osync_capabilitiesobjtype_new(OSyncCapabilities *capabilities, xmlNode *node, OSyncError **error) { - OSyncCapabilitiesObjType *objtype = NULL; + xmlChar *objtype; + OSyncCapabilitiesObjType *capobjtype = NULL; osync_assert(capabilities); osync_assert(node); - - objtype = osync_try_malloc0(sizeof(OSyncCapabilitiesObjType), error); - if(!objtype) { - osync_trace(TRACE_EXIT_ERROR, "%s: %s" , __func__, osync_error_print(error)); - return NULL; + + osync_assert(!xmlStrcmp(node->name, (const xmlChar *)"ObjType")); + objtype = xmlGetProp(node, (const xmlChar *)"Name"); + + if (!objtype || *objtype == '\0') { + + if (objtype) + osync_xml_free(objtype); + + osync_error_set(error, OSYNC_ERROR_MISCONFIGURATION, "Capabilities Information is malformed. Object Type Name is missing."); + goto error; } - objtype->child_count = 0; - objtype->first_child = NULL; - objtype->last_child = NULL; - objtype->next = NULL; - objtype->node = node; - - if(!capabilities->first_objtype) - capabilities->first_objtype = objtype; - if(capabilities->last_objtype) - capabilities->last_objtype->next = objtype; - capabilities->last_objtype = objtype; + capobjtype = osync_try_malloc0(sizeof(OSyncCapabilitiesObjType), error); + if (!capobjtype) + goto error; + + capobjtype->name = osync_strdup(objtype); - return objtype; + osync_xml_free(objtype); + + return capobjtype; + +error: + osync_trace(TRACE_EXIT_ERROR, "%s: %s" , __func__, osync_error_print(error)); + return NULL; } OSyncCapabilitiesObjType *osync_capabilitiesobjtype_get(OSyncCapabilities *capabilities, const char *objtype) { - OSyncCapabilitiesObjType *tmp = NULL; + OSyncList *l = NULL; + OSyncCapabilitiesObjType *capobjtype = NULL; osync_assert(capabilities); osync_assert(objtype); - tmp = capabilities->first_objtype; - for(; tmp != NULL; tmp = tmp->next) { - if(!strcmp((const char *)tmp->node->name, objtype)) + l = capabilities->objtypes; + for(; l != NULL; l = l->next) { + capobjtype = (OSyncCapabilitiesObjType *) l->data; + if(!strcmp(capobjtype->name, objtype)) break; } - return tmp; + + return capobjtype; } -/* end of private part */ +OSyncCapabilitiesObjType *osync_capabilitiesobjtype_ref(OSyncCapabilitiesObjType *capsobjtype) +{ + osync_assert(capsobjtype); + + g_atomic_int_inc(&(capsobjtype->ref_count)); + + return capsobjtype; +} + +void osync_capabilitiesobjtype_unref(OSyncCapabilitiesObjType *capsobjtype) +{ + osync_assert(capsobjtype); + + if (g_atomic_int_dec_and_test(&(capsobjtype->ref_count))) { + OSyncList *l; + for (l = capsobjtype->capabilities; l; l = l->next) { + OSyncCapability *capability; + capability = (OSyncCapability *) l->data; + osync_capability_unref(capability); + /* TODO unlink from list */ + } + osync_free(capsobjtype); + } +} OSyncCapabilities *osync_capabilities_new(OSyncError **error) { @@ -87,8 +120,6 @@ } capabilities->ref_count = 1; - capabilities->first_objtype = NULL; - capabilities->last_objtype = NULL; capabilities->doc = xmlNewDoc(BAD_CAST "1.0"); capabilities->doc->children = xmlNewDocNode(capabilities->doc, NULL, (xmlChar *)"capabilities", NULL); capabilities->doc->_private = capabilities; @@ -112,8 +143,6 @@ } capabilities->ref_count = 1; - capabilities->first_objtype = NULL; - capabilities->last_objtype = NULL; capabilities->doc = xmlReadMemory(buffer, size, NULL, NULL, XML_PARSE_NOBLANKS); if(capabilities->doc == NULL) { osync_free(capabilities); @@ -127,16 +156,18 @@ cur = cur->children; for(; cur != NULL; cur = cur->next) { OSyncCapabilitiesObjType *capabilitiesobjtype = osync_capabilitiesobjtype_new(capabilities, cur, error); - if(!capabilitiesobjtype) { + if (!capabilitiesobjtype) { osync_capabilities_unref(capabilities); goto error; } + /* TODO: port if (!(capability = osync_capability_new_node(capabilitiesobjtype, cur, error))) goto error; if (!osync_capability_parse(capability, cur->children, &capabilitiesobjtype->first_child, &capabilitiesobjtype->last_child, &capabilitiesobjtype->child_count, error)) goto error_and_free; + */ } @@ -165,34 +196,18 @@ osync_assert(capabilities); if (g_atomic_int_dec_and_test(&(capabilities->ref_count))) { - OSyncCapabilitiesObjType *objtype, *tmp; - objtype = capabilities->first_objtype; - while(objtype) - { - osync_capability_free(objtype->capability); - - tmp = objtype->next; - osync_free(objtype); - objtype = tmp; - } + OSyncList *l; + for (l = capabilities->objtypes; l; l = l->next) { + OSyncCapabilitiesObjType *objtype; + objtype = (OSyncCapabilitiesObjType *) l->data; + osync_capabilitiesobjtype_unref(objtype); + /* TODO unlink from list */ + } osync_xml_free_doc(capabilities->doc); osync_free(capabilities); } } -OSyncCapability *osync_capabilities_get_first(OSyncCapabilities *capabilities, const char *objtype) -{ - OSyncCapability *res = NULL; - OSyncCapabilitiesObjType *tmp = NULL; - osync_assert(capabilities); - osync_assert(objtype); - - tmp = osync_capabilitiesobjtype_get(capabilities, objtype); - if(tmp) - res = tmp->first_child; - return res; -} - osync_bool osync_capabilities_assemble(OSyncCapabilities *capabilities, char **buffer, int *size) { osync_assert(capabilities); @@ -203,53 +218,6 @@ return TRUE; } -void osync_capabilities_sort(OSyncCapabilities *capabilities) -{ - unsigned int index; - OSyncCapabilitiesObjType *objtype; - OSyncCapability *cur; - - objtype = capabilities->first_objtype; - for(; objtype != NULL; objtype = objtype->next) - { - void **list = NULL; - if(objtype->child_count <= 1) - continue; - - list = g_malloc0(sizeof(OSyncCapability *) * objtype->child_count); - - index = 0; - for(cur = objtype->first_child; cur != NULL; cur = osync_capability_get_next(cur)) { - list[index] = cur; - index++; - xmlUnlinkNode(cur->node); - } - - qsort(list, objtype->child_count, sizeof(OSyncCapability *), osync_capability_compare_stdlib); - - /** bring the capabilities and xmldoc in a consistent state */ - objtype->first_child = ((OSyncCapability *)list[0])->node->_private; - objtype->last_child = ((OSyncCapability *)list[objtype->child_count - 1])->node->_private; - - for(index = 0; index < objtype->child_count; index++) { - cur = (OSyncCapability *)list[index]; - xmlAddChild(objtype->node, cur->node); - - if(index < objtype->child_count-1) - cur->next = (OSyncCapability *)list[index+1]; - else - cur->next = NULL; - - if(index) - cur->prev = (OSyncCapability *)list[index-1]; - else - cur->prev = NULL; - } - - g_free(list); - } -} - OSyncCapabilities *osync_capabilities_load(const char *file, OSyncError **error) { unsigned int size; @@ -322,9 +290,6 @@ return NULL; } - /* Sort capabilities, to avoid user modified unsorted capalities: #813 */ - osync_capabilities_sort(capabilities); - osync_trace(TRACE_EXIT, "%s: %p", __func__, capabilities); return capabilities; } Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_internals.h ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_internals.h Sun May 31 21:49:06 2009 (r5654) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_internals.h Sun May 31 23:23:55 2009 (r5655) @@ -23,7 +23,6 @@ #ifndef OPENSYNC_CAPABILITIES_INTERNALS_H_ #define OPENSYNC_CAPABILITIES_INTERNALS_H_ -typedef struct OSyncCapabilitiesObjType OSyncCapabilitiesObjType; /** * @defgroup OSyncCapabilitiesInternalAPI OpenSync Capabilities Internals Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_private.h ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_private.h Sun May 31 21:49:06 2009 (r5654) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_private.h Sun May 31 23:23:55 2009 (r5655) @@ -37,18 +37,13 @@ * @brief Represent a CapabilitiesObjType object */ struct OSyncCapabilitiesObjType { - /** The pointer to the next objtype */ - OSyncCapabilitiesObjType *next; - /** The pointer to the root capability */ - OSyncCapability *capability; - /** The pointer to the first capability */ - OSyncCapability *first_child; - /** The pointer to the last capability */ - OSyncCapability *last_child; - /** Counter which holds the number of capabilities for one objtype*/ - unsigned int child_count; - /** The wrapped xml node */ - xmlNodePtr node; + /** The reference counter for this object */ + int ref_count; + /** Name of ObjType */ + char *name; + /** Capability List */ + OSyncList *capabilities; /* OSyncCapapbility */ + }; /** @@ -57,23 +52,20 @@ struct OSyncCapabilities { /** The reference counter for this object */ int ref_count; - /** The pointer to the first objtype */ - OSyncCapabilitiesObjType *first_objtype; - /** The pointer to the last objtype */ - OSyncCapabilitiesObjType *last_objtype; + /** ObjTypes **/ + OSyncList *objtypes; /* OSyncCapabilitiesObjType */ /** The wrapped xml document */ xmlDocPtr doc; }; /** - * @brief Creates a new capabilitiesobjtype object which will be added to the end of capabilitiesobjtype of the capabilities object. - * The returned object will be freed with the capabilities object. + * @brief Creates a new capabilitiesobjtype object * @param capabilities The pointer to a capabilities object - * @param node The node must be already inserted at the end of childs of the xmlDoc root element + * @param node The ObjType XML node * @param error The error which will hold the info in case of an error * @return The pointer to the newly allocated capabilitiesobjtype object or NULL in case of error */ -OSyncCapabilitiesObjType *osync_capabilitiesobjtype_new(OSyncCapabilities *capabilities, xmlNodePtr node, OSyncError **error); +OSyncCapabilitiesObjType *osync_capabilitiesobjtype_new(OSyncCapabilities *capabilities, xmlNode *node, OSyncError **error); /** * @brief Get the first capabilitiesobjtype for a given objtype from the capabilities Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capability.c ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync_capability.c Sun May 31 21:49:06 2009 (r5654) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capability.c Sun May 31 23:23:55 2009 (r5655) @@ -30,165 +30,55 @@ #include "opensync_capability_private.h" -OSyncCapability *osync_capability_new_node(OSyncCapabilitiesObjType *capabilitiesobjtype, xmlNodePtr node, OSyncError **error) +int osync_capability_compare_stdlib(const void *capability1, const void *capability2) { - OSyncCapability *capability = NULL; - osync_assert(capabilitiesobjtype); - osync_assert(node); - - capability = osync_try_malloc0(sizeof(OSyncCapability), error); - if(!capability) { - osync_trace(TRACE_ERROR, "%s: %s" , __func__, osync_error_print(error)); - return NULL; - } - - capability->next = NULL; - capability->node = node; - capability->prev = capabilitiesobjtype->last_child; - node->_private = capability; - - capabilitiesobjtype->capability = capability; - - return capability; + return strcmp(osync_capability_get_name(*(OSyncCapability **)capability1), osync_capability_get_name(*(OSyncCapability **)capability2)); } -OSyncCapability *osync_capability_new_capability(OSyncCapability *parent, xmlNodePtr node, OSyncError **error) +OSyncCapability *osync_capability_new(OSyncCapabilitiesObjType *capobjtype, const char *name, OSyncError **error) { OSyncCapability *capability = NULL; - osync_assert(node); + osync_trace(TRACE_ENTRY, "%s(%p, %s, %s, %p)", __func__, capobjtype, name, error); + osync_assert(capobjtype); + osync_assert(name); capability = osync_try_malloc0(sizeof(OSyncCapability), error); - - if (!capability) { - osync_trace(TRACE_ERROR, "%s: %s" , __func__, osync_error_print(error)); - return NULL; - } - - capability->next = NULL; - capability->node = node; - capability->parent = parent; - node->_private = capability; - - if (parent) { - capability->prev = parent->child; - if (capability->prev) - capability->prev->next = capability; - parent->child = capability; - } + if(!capability) + goto error; + osync_trace(TRACE_EXIT, "%s: %p", __func__, capability); return capability; -} - -osync_bool osync_capability_parse(OSyncCapability *parent, xmlNodePtr node, OSyncCapability **first_child, OSyncCapability **last_child, unsigned int *child_count, OSyncError **error) -{ - OSyncCapability *capability = NULL; - unsigned int count = 0; - - if (first_child) - *first_child = NULL; - - while (node != NULL) { - - capability = osync_capability_new_capability(parent, node, error); - if (!capability) - goto error; - - if (first_child && !(*first_child)) { - *first_child = capability; - } - - count++; - if (node->children && node->children->type == XML_ELEMENT_NODE) - if (!osync_capability_parse(capability, node->children, NULL, NULL, NULL, error)) - goto error_and_free; - - node = node->next; - } - - if (last_child) - *last_child = capability; - - if (child_count) - *child_count = count; - - return TRUE; - -error_and_free: - osync_capability_free(capability); error: - - if (last_child) - *last_child = NULL; - - if (first_child) - *first_child = NULL; - osync_trace(TRACE_EXIT_ERROR, "%s: %s" , __func__, osync_error_print(error)); - return FALSE; + return NULL; } -void osync_capability_free(OSyncCapability *capability) +OSyncCapability *osync_capability_ref(OSyncCapability *capability) { - OSyncCapability *tmp; osync_assert(capability); - - while (capability->child) { - tmp = osync_capability_get_next(capability->child); - osync_capability_free(capability->child); - capability->child = tmp; - } - osync_free(capability); -} + g_atomic_int_inc(&(capability->ref_count)); -int osync_capability_compare_stdlib(const void *capability1, const void *capability2) -{ - return strcmp(osync_capability_get_name(*(OSyncCapability **)capability1), osync_capability_get_name(*(OSyncCapability **)capability2)); + return capability; } -OSyncCapability *osync_capability_new(OSyncCapabilities *capabilities, const char *objtype, const char *name, OSyncError **error) +void osync_capability_unref(OSyncCapability *capability) { - OSyncCapabilitiesObjType *capabilitiesobjtype = NULL; - xmlNodePtr node = NULL; - OSyncCapability *capability = NULL; - osync_trace(TRACE_ENTRY, "%s(%p, %s, %s, %p)", __func__, capabilities, objtype, name, error); - osync_assert(capabilities); - osync_assert(objtype); - osync_assert(name); - - capabilitiesobjtype = osync_capabilitiesobjtype_get(capabilities, objtype); - if(!capabilitiesobjtype) { - xmlNodePtr node = xmlNewTextChild(xmlDocGetRootElement(capabilities->doc), NULL, BAD_CAST objtype, NULL); - capabilitiesobjtype = osync_capabilitiesobjtype_new(capabilities, node, error); - if(!capabilitiesobjtype) { - xmlUnlinkNode(node); - xmlFreeNode(node); - osync_trace(TRACE_EXIT_ERROR, "%s: %s" , __func__, osync_error_print(error)); - return NULL; - } - } - - node = xmlNewTextChild(capabilitiesobjtype->node, NULL, (xmlChar *)name, NULL); - capability = osync_capability_new_node(capabilitiesobjtype, node, error); - if(!capability) { - xmlUnlinkNode(node); - xmlFreeNode(node); - osync_trace(TRACE_EXIT_ERROR, "%s: %s" , __func__, osync_error_print(error)); - return NULL; + osync_assert(capability); + + if (g_atomic_int_dec_and_test(&(capability->ref_count))) { + /* TODO free struct members */ + osync_free(capability); } - - osync_trace(TRACE_EXIT, "%s: %p", __func__, capability); - return capability; } const char *osync_capability_get_name(OSyncCapability *capability) { osync_assert(capability); - /* TODO port to new capability struct capability->name */ - return (const char *) capability->node->name; + return (const char *) capability->name; } void osync_capability_set_name(OSyncCapability *capability, const char *name) @@ -302,86 +192,6 @@ return capability->valenum; } -OSyncCapability *osync_capability_get_next(OSyncCapability *capability) -{ - osync_return_val_if_fail(capability, NULL); - - return capability->next; -} - -OSyncCapability *osync_capability_get_prev(OSyncCapability *capability) -{ - osync_return_val_if_fail(capability, NULL); - - return capability->prev; -} - -OSyncCapability *osync_capability_get_child(OSyncCapability *capability) -{ - osync_return_val_if_fail(capability, NULL); - - return capability->child; -} - -OSyncCapability *osync_capability_get_parent(OSyncCapability *capability) -{ - osync_return_val_if_fail(capability, NULL); - - return capability->parent; -} - -osync_bool osync_capability_has_key(OSyncCapability *capability) -{ - osync_assert(capability); - - if(capability->node->children) - return TRUE; - else - return FALSE; -} - -unsigned int osync_capability_get_key_count(OSyncCapability *capability) -{ - unsigned int count; - xmlNodePtr child = NULL; - - osync_assert(capability); - - child = capability->node->xmlChildrenNode; - - for(count=0 ; child != NULL; child = child->next) - count++; - - return count; -} - -const char *osync_capability_get_nth_key(OSyncCapability *capability, unsigned int nth) -{ - unsigned int count = 0; - xmlNodePtr child = NULL; - - osync_assert(capability); - - child = capability->node->xmlChildrenNode; - - for(count=0; child != NULL; child = child->next) { - if(count == nth) - return (const char *)child->name; - count++; - } - - return NULL; -} - -void osync_capability_add_key(OSyncCapability *capability, const char *name) -{ - osync_assert(capability); - osync_assert(name); - - xmlNewTextChild(capability->node, NULL, (xmlChar*)name, NULL); -} - - OSyncCapabilityParameter *osync_capability_parameter_new(OSyncError **error) { OSyncCapabilityParameter *capparam; Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capability.h ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync_capability.h Sun May 31 21:49:06 2009 (r5654) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capability.h Sun May 31 23:23:55 2009 (r5655) @@ -62,14 +62,12 @@ /** * @brief Creates a new capability object which will be added to the end of capabilities of the capabilities object. * The returned object will be freed with the capabilities object. - * @param capabilities The pointer to a capabilities object - * @param objtype The name of the objtype (e.g.: contact) + * @param capobjtype The pointer to a capabilities objtype object * @param name The name of the capability * @param error The error which will hold the info in case of an error * @return The pointer to the newly allocated capability object or NULL in case of error */ -OSYNC_EXPORT OSyncCapability *osync_capability_new(OSyncCapabilities *capabilities, const char *objtype, const char *name, OSyncError **error); - +OSYNC_EXPORT OSyncCapability *osync_capability_new(OSyncCapabilitiesObjType* capobjtype, const char *name, OSyncError **error); /** * @brief Get the name of the capability @@ -179,63 +177,6 @@ */ OSYNC_EXPORT OSyncList *osync_capability_get_valenums(OSyncCapability *capability); /* const char* list */ -/** - * @brief Get the next capability - * @param capability The pointer to a capability object - * @return The pointer to the next capability or NULL if there is no more capability - */ -OSYNC_EXPORT OSyncCapability *osync_capability_get_next(OSyncCapability *capability); - -/** - * @brief Get the previous capability - * @param capability The pointer to a capability object - * @return The pointer to the previous capability or NULL if there is no more capability - */ -OSYNC_EXPORT OSyncCapability *osync_capability_get_prev(OSyncCapability *capability); - -/** - * @brief Get the child capability - * @param capability The pointer to a capability object - * @return The pointer to the child capability or NULL if there is no more capability - */ -OSYNC_EXPORT OSyncCapability *osync_capability_get_child(OSyncCapability *capability); - -/** - * @brief Get the parent capability - * @param capability The pointer to a capability object - * @return The pointer to the parent capability or NULL if there is no more capability - */ -OSYNC_EXPORT OSyncCapability *osync_capability_get_parent(OSyncCapability *capability); - -/** - * @brief Check if the capability has a key - * @param capability The pointer to a capability object - * @return TRUE if the capability has a key otherwise FALSE - */ -OSYNC_EXPORT osync_bool osync_capability_has_key(OSyncCapability *capability); - -/** - * @brief Get the count of keys of a capability - * @param capability The pointer to a capability object - * @return The count of keys of the capability - */ -OSYNC_EXPORT unsigned int osync_capability_get_key_count(OSyncCapability *capability); - -/** - * @brief Get the name of the nth key of a capability - * @param capability The pointer to a capability object - * @param nth The number of the key - * @return The name of the nth key of the capability or NULL in case of error - */ -OSYNC_EXPORT const char *osync_capability_get_nth_key(OSyncCapability *capability, unsigned int nth); - -/** - * @brief Add a key to a capability - * @param capability The pointer to a capability object - * @param name The name of the key - */ -OSYNC_EXPORT void osync_capability_add_key(OSyncCapability *capability, const char *name); - /*@}*/ #endif /*OPENSYNC_CAPABILITY_H_*/ Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capability_private.h ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync_capability_private.h Sun May 31 21:49:06 2009 (r5654) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capability_private.h Sun May 31 23:23:55 2009 (r5655) @@ -35,17 +35,8 @@ * @brief Represents a Capability object */ struct OSyncCapability { - /** The pointer to the parent capability */ - OSyncCapability *parent; - /** The pointer to the child capability */ - OSyncCapability *child; - /** The pointer to the next capability */ - OSyncCapability *next; - /** The pointer to the previous capability */ - OSyncCapability *prev; - /** The wrapped xml node */ - xmlNodePtr node; - + /** CapabilityObjType parent object */ + OSyncCapabilitiesObjType *capobjtype; /** DisplayName */ char *displayname; /** MaxOccurs */ Modified: branches/opensync-ticket1084/opensync/opensync.h ============================================================================== --- branches/opensync-ticket1084/opensync/opensync.h Sun May 31 21:49:06 2009 (r5654) +++ branches/opensync-ticket1084/opensync/opensync.h Sun May 31 23:23:55 2009 (r5655) @@ -251,6 +251,7 @@ typedef struct OSyncCapabilities OSyncCapabilities; typedef struct OSyncCapability OSyncCapability; typedef struct OSyncCapabilityParameter OSyncCapabilityParameter; +typedef struct OSyncCapabilitiesObjType OSyncCapabilitiesObjType; /* XMLFormat component */ typedef struct OSyncXMLFormat OSyncXMLFormat; |
From: <svn...@op...> - 2009-05-31 19:49:12
|
Author: dgollub Date: Sun May 31 21:49:06 2009 New Revision: 5654 URL: http://www.opensync.org/changeset/5654 Log: Added more OSyncCapabilities and OSyncCapabilitesParameter interfaces (_setter) refs #1084 Modified: branches/opensync-ticket1084/opensync.sym branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_internals.h branches/opensync-ticket1084/opensync/capabilities/opensync_capability.c branches/opensync-ticket1084/opensync/capabilities/opensync_capability.h Modified: branches/opensync-ticket1084/opensync.sym ============================================================================== --- branches/opensync-ticket1084/opensync.sym Sun May 31 21:18:38 2009 (r5653) +++ branches/opensync-ticket1084/opensync.sym Sun May 31 21:49:06 2009 (r5654) @@ -6,14 +6,28 @@ osync_capabilities_unref osync_capability_add_key osync_capability_get_child +osync_capability_get_displayname osync_capability_get_key_count +osync_capability_get_max +osync_capability_get_maxoccurs +osync_capability_get_min osync_capability_get_name osync_capability_get_next osync_capability_get_nth_key +osync_capability_get_parameter osync_capability_get_parent osync_capability_get_prev +osync_capability_get_type +osync_capability_get_valenums osync_capability_has_key osync_capability_new +osync_capability_set_displayname +osync_capability_set_max +osync_capability_set_maxoccurs +osync_capability_set_min +osync_capability_set_name +osync_capability_set_parameter +osync_capability_set_type osync_change_compare osync_change_get_changetype osync_change_get_data Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_internals.h ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_internals.h Sun May 31 21:18:38 2009 (r5653) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capabilities_internals.h Sun May 31 21:49:06 2009 (r5654) @@ -83,4 +83,8 @@ /*@}*/ +OSYNC_TEST_EXPORT OSyncCapabilityParameter *osync_capability_parameter_new(OSyncError **error); +OSYNC_TEST_EXPORT OSyncCapabilityParameter *osync_capability_parameter_ref(OSyncCapabilityParameter *capparam); +OSYNC_TEST_EXPORT void osync_capability_parameter_unref(OSyncCapabilityParameter *capparam); + #endif /*OPENSYNC_CAPABILITIES_INTERNAL_H_*/ Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capability.c ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync_capability.c Sun May 31 21:18:38 2009 (r5653) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capability.c Sun May 31 21:49:06 2009 (r5654) @@ -191,6 +191,18 @@ return (const char *) capability->node->name; } +void osync_capability_set_name(OSyncCapability *capability, const char *name) +{ + osync_assert(capability); + osync_assert(name); + + if (capability->name) + osync_free(capability->name); + + capability->name = osync_strdup(name); +} + + const char *osync_capability_get_displayname(OSyncCapability *capability) { osync_assert(capability); @@ -198,6 +210,17 @@ return (const char *) capability->displayname; } +void osync_capability_set_displayname(OSyncCapability *capability, const char *displayname) +{ + osync_assert(capability); + osync_assert(displayname); + + if (capability->displayname) + osync_free(capability->displayname); + + capability->displayname = osync_strdup(displayname); +} + unsigned int osync_capability_get_maxoccurs(OSyncCapability *capability) { osync_assert(capability); @@ -205,6 +228,13 @@ return capability->maxoccurs; } +void osync_capability_set_maxoccurs(OSyncCapability *capability, unsigned int maxoccurs) +{ + osync_assert(capability); + + capability->maxoccurs = maxoccurs; +} + unsigned int osync_capability_get_max(OSyncCapability *capability) { osync_assert(capability); @@ -212,6 +242,13 @@ return capability->max; } +void osync_capability_set_max(OSyncCapability *capability, unsigned int max) +{ + osync_assert(capability); + + capability->max = max; +} + unsigned int osync_capability_get_min(OSyncCapability *capability) { osync_assert(capability); @@ -219,6 +256,13 @@ return capability->min; } +void osync_capability_set_min(OSyncCapability *capability, unsigned int min) +{ + osync_assert(capability); + + capability->min = min; +} + OSyncCapabilityParameter *osync_capability_get_parameter(OSyncCapability *capability) { osync_assert(capability); @@ -226,6 +270,17 @@ return capability->parameter; } +void osync_capability_set_parameter(OSyncCapability *capability, OSyncCapabilityParameter *parameter) +{ + osync_assert(capability); + osync_assert(parameter); + + if (capability->parameter) + osync_capability_parameter_unref(capability->parameter); + + capability->parameter = osync_capability_parameter_ref(parameter); +} + OSyncCapabilityType osync_capability_get_type(OSyncCapability *capability) { osync_assert(capability); @@ -233,6 +288,13 @@ return capability->type; } +void osync_capability_set_type(OSyncCapability *capability, OSyncCapabilityType type) +{ + osync_assert(capability); + + capability->type = type; +} + OSyncList *osync_capability_get_valenums(OSyncCapability *capability) { osync_assert(capability); @@ -318,3 +380,39 @@ xmlNewTextChild(capability->node, NULL, (xmlChar*)name, NULL); } + + +OSyncCapabilityParameter *osync_capability_parameter_new(OSyncError **error) +{ + OSyncCapabilityParameter *capparam; + + capparam = osync_try_malloc0(sizeof(OSyncCapabilityParameter), error); + if (!capparam) + goto error; + + capparam->ref_count = 1; + + return capparam; + +error: + return NULL; +} + +OSyncCapabilityParameter *osync_capability_parameter_ref(OSyncCapabilityParameter *capparam) +{ + osync_assert(capparam); + g_atomic_int_inc(&(capparam->ref_count)); + return capparam; +} + +void osync_capability_parameter_unref(OSyncCapabilityParameter *capparam) +{ + osync_assert(capparam); + + if (g_atomic_int_dec_and_test(&(capparam->ref_count))) { + osync_trace(TRACE_ENTRY, "%s(%p)", __func__, capparam); + osync_trace(TRACE_EXIT, "%s", __func__); + } + +} + Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capability.h ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync_capability.h Sun May 31 21:18:38 2009 (r5653) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capability.h Sun May 31 21:49:06 2009 (r5654) @@ -79,6 +79,13 @@ OSYNC_EXPORT const char *osync_capability_get_name(OSyncCapability *capability); /** + * @brief Set the name of the capability + * @param capability The pointer to a capability object + * @param name The name of the capability to set + */ +OSYNC_EXPORT void osync_capability_set_name(OSyncCapability *capability, const char *name); + +/** * @brief Get the display name of the capability * @param capability The pointer to a capability object * @return The display name of the capability @@ -86,6 +93,13 @@ OSYNC_EXPORT const char *osync_capability_get_displayname(OSyncCapability *capability); /** + * @brief Set the display name of the capability + * @param capability The pointer to a capability object + * @param displayname The displayname of the capability to set + */ +OSYNC_EXPORT void osync_capability_set_displayname(OSyncCapability *capability, const char *displayname); + +/** * @brief Get max occurs of the capability * @param capability The pointer to a capability object * @return The number of max occurs of the capability @@ -93,6 +107,13 @@ OSYNC_EXPORT unsigned int osync_capability_get_maxoccurs(OSyncCapability *capability); /** + * @brief Set max occurs of the capability + * @param capability The pointer to a capability object + * @param maxoccurs The number of max occurs of the capability object + */ +OSYNC_EXPORT void osync_capability_set_maxoccurs(OSyncCapability *capability, unsigned int maxoccurs); + +/** * @brief Get max length/size of the capability value * @param capability The pointer to a capability object * @return The max length/size of the capability value @@ -100,6 +121,13 @@ OSYNC_EXPORT unsigned int osync_capability_get_max(OSyncCapability *capability); /** + * @brief Set the max length/size of the capability value + * @param capability The pointer to a capability object + * @param max The max lenth/size of the capability value + */ +OSYNC_EXPORT void osync_capability_set_max(OSyncCapability *capability, unsigned int max); + +/** * @brief Get min length/size of the capability value * @param capability The pointer to a capability object * @return The min length/size of the capability value @@ -107,6 +135,13 @@ OSYNC_EXPORT unsigned int osync_capability_get_min(OSyncCapability *capability); /** + * @brief Set the min length/size of the capability value + * @param capability The pointer to a capability object + * @param min The min lenth/size of the capability value + */ +OSYNC_EXPORT void osync_capability_set_min(OSyncCapability *capability, unsigned int min); + +/** * @brief Get capability parameter of this capability object * @param capability The pointer to a capability object * @return Pointer to the capability parameter of this capability object @@ -114,6 +149,13 @@ OSYNC_EXPORT OSyncCapabilityParameter *osync_capability_get_parameter(OSyncCapability *capability); /** + * @brief Set the capability parameter of the capability object + * @param capability The pointer to a capability object + * @param parameter the parameter to set for the capability object + */ +OSYNC_EXPORT void osync_capability_set_parameter(OSyncCapability *capability, OSyncCapabilityParameter *parameter); + +/** * @brief Get capability type of this capability object * @param capability The pointer to a capability object * @return Type of this capability @@ -121,6 +163,13 @@ OSYNC_EXPORT OSyncCapabilityType osync_capability_get_type(OSyncCapability *capability); /** + * @brief Set capability type for capability object + * @param capability The pointer to a capability object + * @param type The type to set for the capability object + */ +OSYNC_EXPORT void osync_capability_set_type(OSyncCapability *capability, OSyncCapabilityType type); + +/** * @brief Get valenum of this capability objects. Contains possible value of * this capability object * |
From: <svn...@op...> - 2009-05-31 19:18:47
|
Author: dgollub Date: Sun May 31 21:18:38 2009 New Revision: 5653 URL: http://www.opensync.org/changeset/5653 Log: First set of OSyncCapability getter interface. Without any function yet - just the interfaces. refs #1084 Modified: branches/opensync-ticket1084/misc/schemas/capabilities.xsd branches/opensync-ticket1084/opensync/capabilities/opensync_capability.c branches/opensync-ticket1084/opensync/capabilities/opensync_capability.h branches/opensync-ticket1084/opensync/capabilities/opensync_capability_private.h branches/opensync-ticket1084/opensync/opensync.h Modified: branches/opensync-ticket1084/misc/schemas/capabilities.xsd ============================================================================== --- branches/opensync-ticket1084/misc/schemas/capabilities.xsd Sun May 31 20:47:43 2009 (r5652) +++ branches/opensync-ticket1084/misc/schemas/capabilities.xsd Sun May 31 21:18:38 2009 (r5653) @@ -24,7 +24,7 @@ <xsd:element maxOccurs="1" minOccurs="0" name="MaxOccurs" type="xsd:integer" /> <xsd:element maxOccurs="1" minOccurs="0" name="Max" type="xsd:integer" /> <xsd:element maxOccurs="1" minOccurs="0" name="Min" type="xsd:integer" /> - <xsd:element maxOccurs="1" minOccurs="1" name="PropName" type="xsd:string" /> + <xsd:element maxOccurs="1" minOccurs="1" name="Name" type="xsd:string" /> <xsd:element maxOccurs="unbounded" minOccurs="0" name="Parameter" type="AdvancedParameter" /> <xsd:element maxOccurs="1" minOccurs="0" name="Type" type="AdvancedType" /> <xsd:element maxOccurs="unbounded" minOccurs="0" name="ValEnum" type="xsd:string" /> Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capability.c ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync_capability.c Sun May 31 20:47:43 2009 (r5652) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capability.c Sun May 31 21:18:38 2009 (r5653) @@ -187,9 +187,59 @@ { osync_assert(capability); + /* TODO port to new capability struct capability->name */ return (const char *) capability->node->name; } +const char *osync_capability_get_displayname(OSyncCapability *capability) +{ + osync_assert(capability); + + return (const char *) capability->displayname; +} + +unsigned int osync_capability_get_maxoccurs(OSyncCapability *capability) +{ + osync_assert(capability); + + return capability->maxoccurs; +} + +unsigned int osync_capability_get_max(OSyncCapability *capability) +{ + osync_assert(capability); + + return capability->max; +} + +unsigned int osync_capability_get_min(OSyncCapability *capability) +{ + osync_assert(capability); + + return capability->min; +} + +OSyncCapabilityParameter *osync_capability_get_parameter(OSyncCapability *capability) +{ + osync_assert(capability); + + return capability->parameter; +} + +OSyncCapabilityType osync_capability_get_type(OSyncCapability *capability) +{ + osync_assert(capability); + + return capability->type; +} + +OSyncList *osync_capability_get_valenums(OSyncCapability *capability) +{ + osync_assert(capability); + + return capability->valenum; +} + OSyncCapability *osync_capability_get_next(OSyncCapability *capability) { osync_return_val_if_fail(capability, NULL); Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capability.h ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync_capability.h Sun May 31 20:47:43 2009 (r5652) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capability.h Sun May 31 21:18:38 2009 (r5653) @@ -31,6 +31,34 @@ */ /*@{*/ +/** @brief Capability value types + * + **/ +typedef enum { + /** None */ + OSYNC_CAPABILITY_TYPE_NONE = 0, + /** bool */ + OSYNC_CAPABILITY_TYPE_BOOL, + /** char */ + OSYNC_CAPABILITY_TYPE_CHAR, + /** double */ + OSYNC_CAPABILITY_TYPE_DOUBLE, + /** int */ + OSYNC_CAPABILITY_TYPE_INT, + /** long */ + OSYNC_CAPABILITY_TYPE_LONG, + /** long long */ + OSYNC_CAPABILITY_TYPE_LONGLONG, + /** unsigned int */ + OSYNC_CAPABILITY_TYPE_UINT, + /** unsigned long */ + OSYNC_CAPABILITY_TYPE_ULONG, + /** unsigned long long */ + OSYNC_CAPABILITY_TYPE_ULONGLONG, + /** String (char *) */ + OSYNC_CAPABILITY_TYPE_STRING +} OSyncCapabilityType; + /** * @brief Creates a new capability object which will be added to the end of capabilities of the capabilities object. * The returned object will be freed with the capabilities object. @@ -51,6 +79,58 @@ OSYNC_EXPORT const char *osync_capability_get_name(OSyncCapability *capability); /** + * @brief Get the display name of the capability + * @param capability The pointer to a capability object + * @return The display name of the capability + */ +OSYNC_EXPORT const char *osync_capability_get_displayname(OSyncCapability *capability); + +/** + * @brief Get max occurs of the capability + * @param capability The pointer to a capability object + * @return The number of max occurs of the capability + */ +OSYNC_EXPORT unsigned int osync_capability_get_maxoccurs(OSyncCapability *capability); + +/** + * @brief Get max length/size of the capability value + * @param capability The pointer to a capability object + * @return The max length/size of the capability value + */ +OSYNC_EXPORT unsigned int osync_capability_get_max(OSyncCapability *capability); + +/** + * @brief Get min length/size of the capability value + * @param capability The pointer to a capability object + * @return The min length/size of the capability value + */ +OSYNC_EXPORT unsigned int osync_capability_get_min(OSyncCapability *capability); + +/** + * @brief Get capability parameter of this capability object + * @param capability The pointer to a capability object + * @return Pointer to the capability parameter of this capability object + */ +OSYNC_EXPORT OSyncCapabilityParameter *osync_capability_get_parameter(OSyncCapability *capability); + +/** + * @brief Get capability type of this capability object + * @param capability The pointer to a capability object + * @return Type of this capability + */ +OSYNC_EXPORT OSyncCapabilityType osync_capability_get_type(OSyncCapability *capability); + +/** + * @brief Get valenum of this capability objects. Contains possible value of + * this capability object + * + * @param capability The pointer to a capability object + * @return Returns OSyncList with strings (const char*) with possible values + * of this capability object + */ +OSYNC_EXPORT OSyncList *osync_capability_get_valenums(OSyncCapability *capability); /* const char* list */ + +/** * @brief Get the next capability * @param capability The pointer to a capability object * @return The pointer to the next capability or NULL if there is no more capability Modified: branches/opensync-ticket1084/opensync/capabilities/opensync_capability_private.h ============================================================================== --- branches/opensync-ticket1084/opensync/capabilities/opensync_capability_private.h Sun May 31 20:47:43 2009 (r5652) +++ branches/opensync-ticket1084/opensync/capabilities/opensync_capability_private.h Sun May 31 21:18:38 2009 (r5653) @@ -45,8 +45,47 @@ OSyncCapability *prev; /** The wrapped xml node */ xmlNodePtr node; + + /** DisplayName */ + char *displayname; + /** MaxOccurs */ + unsigned int maxoccurs; + /** Max */ + unsigned int max; + /** Min */ + unsigned int min; + /** Name */ + char *name; + /** Parameter */ + OSyncCapabilityParameter *parameter; + /** Type */ + OSyncCapabilityType type; + /** ValEnum */ + OSyncList *valenum; /* char* */ + /** Value */ + char *value; + + /** Reference counting */ + int ref_count; +}; + +struct OSyncCapabilityParameter { + /** DisplayName */ + char *displayname; + /** Name */ + char *name; + /** Type */ + OSyncCapabilityType type; + /** ValEnum */ + OSyncList *valenum; /* char* */ + /** Value */ + char *value; + + /** Reference counting */ + int ref_count; }; + /*@}*/ #endif /* OPENSYNC_CAPABILITY_PRIVATE_H_ */ Modified: branches/opensync-ticket1084/opensync/opensync.h ============================================================================== --- branches/opensync-ticket1084/opensync/opensync.h Sun May 31 20:47:43 2009 (r5652) +++ branches/opensync-ticket1084/opensync/opensync.h Sun May 31 21:18:38 2009 (r5653) @@ -250,6 +250,7 @@ /* Merger component */ typedef struct OSyncCapabilities OSyncCapabilities; typedef struct OSyncCapability OSyncCapability; +typedef struct OSyncCapabilityParameter OSyncCapabilityParameter; /* XMLFormat component */ typedef struct OSyncXMLFormat OSyncXMLFormat; |
From: <svn...@op...> - 2009-05-31 18:47:51
|
Author: dgollub Date: Sun May 31 20:47:43 2009 New Revision: 5652 URL: http://www.opensync.org/changeset/5652 Log: Add initial draf of capabilties XML Schema for internal storage of capabilities information refs #1084 Added: branches/opensync-ticket1084/misc/schemas/capabilities.xsd Added: branches/opensync-ticket1084/misc/schemas/capabilities.xsd ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ branches/opensync-ticket1084/misc/schemas/capabilities.xsd Sun May 31 20:47:43 2009 (r5652) @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="1.0"> + + <xsd:element name="Caps"> + <xsd:complexType> + <xsd:sequence> + <xsd:element maxOccurs="unbounded" minOccurs="1" name="ObjType" type="ObjType"/> + </xsd:sequence> + <xsd:attribute name="CapsFormat" type="xsd:string"/> + <xsd:attribute name="Version" type="xsd:string"/> + </xsd:complexType> + </xsd:element> + + <xsd:complexType name="ObjType"> + <xsd:sequence> + <xsd:element maxOccurs="unbounded" minOccurs="0" name="Cap" type="Cap"/> + </xsd:sequence> + <xsd:attribute name="Name" type="xsd:string"/> + </xsd:complexType> + + <xsd:complexType name="Cap"> + <xsd:sequence> + <xsd:element maxOccurs="1" minOccurs="0" name="DisplayName" type="xsd:string" /> + <xsd:element maxOccurs="1" minOccurs="0" name="MaxOccurs" type="xsd:integer" /> + <xsd:element maxOccurs="1" minOccurs="0" name="Max" type="xsd:integer" /> + <xsd:element maxOccurs="1" minOccurs="0" name="Min" type="xsd:integer" /> + <xsd:element maxOccurs="1" minOccurs="1" name="PropName" type="xsd:string" /> + <xsd:element maxOccurs="unbounded" minOccurs="0" name="Parameter" type="AdvancedParameter" /> + <xsd:element maxOccurs="1" minOccurs="0" name="Type" type="AdvancedType" /> + <xsd:element maxOccurs="unbounded" minOccurs="0" name="ValEnum" type="xsd:string" /> + <xsd:element maxOccurs="1" minOccurs="1" name="Value" type="xsd:string" /> + </xsd:sequence> + </xsd:complexType> + + <!-- Begin of external include. TODO split: plugin_config.xsd --> + + <xsd:complexType name="AdvancedParameter"> + <xsd:sequence> + <xsd:element maxOccurs="1" minOccurs="0" name="DisplayName" type="xsd:string" /> + <xsd:element maxOccurs="1" minOccurs="1" name="Name" type="xsd:string" /> + <xsd:element maxOccurs="1" minOccurs="0" name="Type" type="AdvancedType" /> + <xsd:element maxOccurs="unbounded" minOccurs="0" name="ValEnum" type="xsd:string" /> + <xsd:element maxOccurs="1" minOccurs="1" name="Value" type="xsd:string" /> + </xsd:sequence> + </xsd:complexType> + + <xsd:simpleType name="AdvancedType"> + <xsd:restriction base="xsd:string"> + <!-- bool is 1/0 --> + <xsd:enumeration value="bool"/> + <!-- single character --> + <xsd:enumeration value="char"/> + <xsd:enumeration value="double"/> + <xsd:enumeration value="int"/> + <xsd:enumeration value="long"/> + <xsd:enumeration value="longlong"/> + <xsd:enumeration value="string" /> + <xsd:enumeration value="uint"/> + <xsd:enumeration value="ulong"/> + <xsd:enumeration value="ulonglong"/> + </xsd:restriction> + </xsd:simpleType> + |
From: <svn...@op...> - 2009-05-31 18:37:52
|
Author: dgollub Date: Sun May 31 20:37:48 2009 New Revision: 5651 URL: http://www.opensync.org/changeset/5651 Log: Create branch for ticket #1084 Added: branches/opensync-ticket1084/ (props changed) - copied from r5650, trunk/ |
From: <svn...@op...> - 2009-05-31 18:28:03
|
Author: dgollub Date: Sun May 31 20:27:59 2009 New Revision: 5650 URL: http://www.opensync.org/changeset/5650 Log: Fix build for older glib versions. g_strcmp0 got introduced within glib 2.16. But we try to support much older version of glib. refs #1123 Modified: trunk/tests/mock-plugin/mock_sync.c Modified: trunk/tests/mock-plugin/mock_sync.c ============================================================================== --- trunk/tests/mock-plugin/mock_sync.c Thu May 28 16:48:03 2009 (r5649) +++ trunk/tests/mock-plugin/mock_sync.c Sun May 31 20:27:59 2009 (r5650) @@ -300,7 +300,7 @@ while((de = g_dir_read_name(dir))) { sorted_dir_list = osync_list_insert_sorted(sorted_dir_list, - g_strdup(de), (OSyncCompareFunc)g_strcmp0); + g_strdup(de), (OSyncCompareFunc)strcmp); } g_dir_close(dir); |