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