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; |