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