From: <svn...@op...> - 2009-06-26 13:08:58
|
Author: bellmich Date: Fri Jun 26 14:31:29 2009 New Revision: 1120 URL: http://libsyncml.opensync.org/changeset/1120 Log: - SmlDevInfDevTyp values were changed from _DEVTYPE_ to _DEVTYP_ because the SyncML element is DevTyp - SML_ELEMENT_DEVTYPE => SML_ELEMENT_DEVTYP (please see above) - fixed the checks of unknown SyncML 1.0 fields - added a test for compliance error handling - added a test for SyncML 1.0 compliance testing Modified: trunk/libsyncml/data_sync_api/data_sync_client.c trunk/libsyncml/data_sync_api/data_sync_devinf.c trunk/libsyncml/data_sync_api/data_sync_server.c trunk/libsyncml/dev_inf_api/sml_dev_inf.c trunk/libsyncml/dev_inf_api/sml_dev_inf.h trunk/libsyncml/dev_inf_api/sml_dev_inf_enum_types.c trunk/libsyncml/parser/sml_xml_assm.c trunk/libsyncml/parser/sml_xml_parse.c trunk/libsyncml/sml_defines.h trunk/libsyncml/sml_devinf.c trunk/tests/CMakeLists.txt trunk/tests/check_dev_inf.c trunk/tests/check_devinf.c trunk/tests/check_sync.c trunk/tests/check_xml_assembler.c trunk/tools/syncml-obex-client.c Modified: trunk/libsyncml/data_sync_api/data_sync_client.c ============================================================================== --- trunk/libsyncml/data_sync_api/data_sync_client.c Thu Jun 25 16:25:55 2009 (r1119) +++ trunk/libsyncml/data_sync_api/data_sync_client.c Fri Jun 26 14:31:29 2009 (r1120) @@ -316,7 +316,7 @@ dsObject->funcDatastoreAlert = smlDataSyncClientAlertCallback; /* prepare device info */ - if (!smlDataSyncDevInfInit(dsObject, SML_DEVINF_DEVTYPE_WORKSTATION, error)) + if (!smlDataSyncDevInfInit(dsObject, SML_DEVINF_DEVTYP_WORKSTATION, error)) goto error; /* prepare datastore server */ Modified: trunk/libsyncml/data_sync_api/data_sync_devinf.c ============================================================================== --- trunk/libsyncml/data_sync_api/data_sync_devinf.c Thu Jun 25 16:25:55 2009 (r1119) +++ trunk/libsyncml/data_sync_api/data_sync_devinf.c Fri Jun 26 14:31:29 2009 (r1120) @@ -769,7 +769,7 @@ } if (!sml_dev_inf_set_dev_id(devinf, dsObject->identifier, &gerror)) goto error; - sml_dev_inf_set_dev_typ(devinf, SML_DEVINF_DEVTYPE_SMARTPHONE); + sml_dev_inf_set_dev_typ(devinf, SML_DEVINF_DEVTYP_SMARTPHONE); if (!sml_dev_inf_set_man(devinf, dsObject->fakeManufacturer, &gerror)) goto error; Modified: trunk/libsyncml/data_sync_api/data_sync_server.c ============================================================================== --- trunk/libsyncml/data_sync_api/data_sync_server.c Thu Jun 25 16:25:55 2009 (r1119) +++ trunk/libsyncml/data_sync_api/data_sync_server.c Fri Jun 26 14:31:29 2009 (r1120) @@ -238,7 +238,7 @@ goto error; /* prepare device info */ - if (!smlDataSyncDevInfInit(dsObject, SML_DEVINF_DEVTYPE_SERVER, error)) + if (!smlDataSyncDevInfInit(dsObject, SML_DEVINF_DEVTYP_SERVER, error)) goto error; /* prepare datastore server */ Modified: trunk/libsyncml/dev_inf_api/sml_dev_inf.c ============================================================================== --- trunk/libsyncml/dev_inf_api/sml_dev_inf.c Thu Jun 25 16:25:55 2009 (r1119) +++ trunk/libsyncml/dev_inf_api/sml_dev_inf.c Fri Jun 26 14:31:29 2009 (r1120) @@ -328,7 +328,7 @@ "DeviceType", "This is the type of the device", SML_DEV_INF_TYPE_DEV_INF_DEV_TYP, - SML_DEVINF_DEVTYPE_UNKNOWN, + SML_DEVINF_DEVTYP_UNKNOWN, G_PARAM_READWRITE)); /** * SmlDevInf:SupportUTC: @@ -744,7 +744,7 @@ SmlDevInfDevTyp sml_dev_inf_get_dev_typ (SmlDevInf *self) { - g_return_val_if_fail (SML_IS_DEV_INF (self), SML_DEVINF_DEVTYPE_UNKNOWN); + g_return_val_if_fail (SML_IS_DEV_INF (self), SML_DEVINF_DEVTYP_UNKNOWN); return self->priv->dev_typ; } @@ -764,7 +764,7 @@ /* The device ID is a minimum requirement. * It is not optional. */ - g_return_if_fail (dev_typ != SML_DEVINF_DEVTYPE_UNKNOWN); + g_return_if_fail (dev_typ != SML_DEVINF_DEVTYP_UNKNOWN); self->priv->dev_typ = dev_typ; } @@ -1007,17 +1007,17 @@ /* Common SyncML requirements */ - sml_return_val_error_if_fail (self->priv->ver_dtd == SML_DEVINF_VERSION_UNKNOWN, FALSE, error, SML_ERROR_GENERIC, "The VerDTD must be set."); + sml_return_val_error_if_fail (self->priv->ver_dtd != SML_DEVINF_VERSION_UNKNOWN, FALSE, error, SML_ERROR_GENERIC, "The VerDTD must be set."); sml_return_val_error_if_fail (self->priv->dev_id != NULL, FALSE, error, SML_ERROR_GENERIC, "The device ID must be set."); - sml_return_val_error_if_fail (self->priv->dev_typ != SML_DEVINF_DEVTYPE_UNKNOWN, FALSE, error, SML_ERROR_GENERIC, "The device type must be set."); + sml_return_val_error_if_fail (self->priv->dev_typ != SML_DEVINF_DEVTYP_UNKNOWN, FALSE, error, SML_ERROR_GENERIC, "The device type must be set."); sml_return_val_error_if_fail (self->priv->data_stores != NULL, FALSE, error, SML_ERROR_GENERIC, "There must be at minimum one data store."); /* SyncML 1.0 requirements */ if (self->priv->ver_dtd == SML_DEVINF_VERSION_10) { - sml_return_val_error_if_fail (self->priv->support_utc, FALSE, error, SML_ERROR_GENERIC, "SyncML 1.0 does not specify UTC support."); - sml_return_val_error_if_fail (self->priv->support_large_objs, FALSE, error, SML_ERROR_GENERIC, "SyncML 1.0 does not specify large object support."); - sml_return_val_error_if_fail (self->priv->support_number_of_changes, FALSE, error, SML_ERROR_GENERIC, "SyncML 1.0 does not specify number of changes support."); + sml_return_val_error_if_fail (!self->priv->support_utc, FALSE, error, SML_ERROR_GENERIC, "SyncML 1.0 does not specify UTC support."); + sml_return_val_error_if_fail (!self->priv->support_large_objs, FALSE, error, SML_ERROR_GENERIC, "SyncML 1.0 does not specify large object support."); + sml_return_val_error_if_fail (!self->priv->support_number_of_changes, FALSE, error, SML_ERROR_GENERIC, "SyncML 1.0 does not specify number of changes support."); } /* SyncML 1.2 requirements */ @@ -1032,7 +1032,7 @@ /* SyncML server requirements */ - if (self->priv->dev_typ == SML_DEVINF_DEVTYPE_SERVER) { + if (self->priv->dev_typ == SML_DEVINF_DEVTYP_SERVER) { sml_return_val_error_if_fail (!self->priv->support_utc, FALSE, error, SML_ERROR_GENERIC, "A server must support UTC."); sml_return_val_error_if_fail (!self->priv->support_large_objs, FALSE, error, SML_ERROR_GENERIC, "A server must support large objects."); sml_return_val_error_if_fail (!self->priv->support_number_of_changes, FALSE, error, SML_ERROR_GENERIC, "A server must support number of changes."); Modified: trunk/libsyncml/dev_inf_api/sml_dev_inf.h ============================================================================== --- trunk/libsyncml/dev_inf_api/sml_dev_inf.h Thu Jun 25 16:25:55 2009 (r1119) +++ trunk/libsyncml/dev_inf_api/sml_dev_inf.h Fri Jun 26 14:31:29 2009 (r1120) @@ -46,14 +46,14 @@ } SmlDevInfVersion; typedef enum { - SML_DEVINF_DEVTYPE_UNKNOWN = 0, - SML_DEVINF_DEVTYPE_PAGER = 1, - SML_DEVINF_DEVTYPE_HANDHELD = 2, - SML_DEVINF_DEVTYPE_PDA = 3, - SML_DEVINF_DEVTYPE_PHONE = 4, - SML_DEVINF_DEVTYPE_SMARTPHONE = 5, - SML_DEVINF_DEVTYPE_SERVER = 6, - SML_DEVINF_DEVTYPE_WORKSTATION = 7 + SML_DEVINF_DEVTYP_UNKNOWN = 0, + SML_DEVINF_DEVTYP_PAGER = 1, + SML_DEVINF_DEVTYP_HANDHELD = 2, + SML_DEVINF_DEVTYP_PDA = 3, + SML_DEVINF_DEVTYP_PHONE = 4, + SML_DEVINF_DEVTYP_SMARTPHONE = 5, + SML_DEVINF_DEVTYP_SERVER = 6, + SML_DEVINF_DEVTYP_WORKSTATION = 7 } SmlDevInfDevTyp; typedef struct _SmlDevInf SmlDevInf; Modified: trunk/libsyncml/dev_inf_api/sml_dev_inf_enum_types.c ============================================================================== --- trunk/libsyncml/dev_inf_api/sml_dev_inf_enum_types.c Thu Jun 25 16:25:55 2009 (r1119) +++ trunk/libsyncml/dev_inf_api/sml_dev_inf_enum_types.c Fri Jun 26 14:31:29 2009 (r1120) @@ -37,14 +37,14 @@ static GType etype = 0; if (G_UNLIKELY (etype == 0)) { static const GEnumValue values[] = { - { SML_DEVINF_DEVTYPE_UNKNOWN, "SML_DEVINF_DEVTYPE_UNKNOWN", "unknown" }, - { SML_DEVINF_DEVTYPE_PAGER, "SML_DEVINF_DEVTYPE_PAGER", "pager" }, - { SML_DEVINF_DEVTYPE_HANDHELD, "SML_DEVINF_DEVTYPE_HANDHELD", "handheld" }, - { SML_DEVINF_DEVTYPE_PDA, "SML_DEVINF_DEVTYPE_PDA", "pda" }, - { SML_DEVINF_DEVTYPE_PHONE, "SML_DEVINF_DEVTYPE_PHONE", "phone" }, - { SML_DEVINF_DEVTYPE_SMARTPHONE, "SML_DEVINF_DEVTYPE_SMARTPHONE", "smartphone" }, - { SML_DEVINF_DEVTYPE_SERVER, "SML_DEVINF_DEVTYPE_SERVER", "server" }, - { SML_DEVINF_DEVTYPE_WORKSTATION, "SML_DEVINF_DEVTYPE_WORKSTATION", "workstation" }, + { SML_DEVINF_DEVTYP_UNKNOWN, "SML_DEVINF_DEVTYP_UNKNOWN", "unknown" }, + { SML_DEVINF_DEVTYP_PAGER, "SML_DEVINF_DEVTYP_PAGER", "pager" }, + { SML_DEVINF_DEVTYP_HANDHELD, "SML_DEVINF_DEVTYP_HANDHELD", "handheld" }, + { SML_DEVINF_DEVTYP_PDA, "SML_DEVINF_DEVTYP_PDA", "pda" }, + { SML_DEVINF_DEVTYP_PHONE, "SML_DEVINF_DEVTYP_PHONE", "phone" }, + { SML_DEVINF_DEVTYP_SMARTPHONE, "SML_DEVINF_DEVTYP_SMARTPHONE", "smartphone" }, + { SML_DEVINF_DEVTYP_SERVER, "SML_DEVINF_DEVTYP_SERVER", "server" }, + { SML_DEVINF_DEVTYP_WORKSTATION, "SML_DEVINF_DEVTYP_WORKSTATION", "workstation" }, { 0, NULL, NULL } }; etype = g_enum_register_static (g_intern_static_string ("SmlDevInfDevTyp"), values); Modified: trunk/libsyncml/parser/sml_xml_assm.c ============================================================================== --- trunk/libsyncml/parser/sml_xml_assm.c Thu Jun 25 16:25:55 2009 (r1119) +++ trunk/libsyncml/parser/sml_xml_assm.c Fri Jun 26 14:31:29 2009 (r1120) @@ -2519,7 +2519,7 @@ if (!devtype) goto error_free_writer; - if (!_smlXmlAssemblerAddString(assm, SML_ELEMENT_DEVTYPE, devtype, error)) + if (!_smlXmlAssemblerAddString(assm, SML_ELEMENT_DEVTYP, devtype, error)) goto error_free_writer; //UTC (>= 1.1) Modified: trunk/libsyncml/parser/sml_xml_parse.c ============================================================================== --- trunk/libsyncml/parser/sml_xml_parse.c Thu Jun 25 16:25:55 2009 (r1119) +++ trunk/libsyncml/parser/sml_xml_parse.c Fri Jun 26 14:31:29 2009 (r1120) @@ -3544,15 +3544,15 @@ if (!sml_dev_inf_set_dev_id(devinf, devid, &gerror)) goto error; smlSafeCFree(&devid); - } else if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_DEVTYPE)) { + } else if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_DEVTYP)) { char *devtype = NULL; - if (!_smlXmlParserGetString(parser, &devtype, SML_ELEMENT_DEVTYPE, error)) + if (!_smlXmlParserGetString(parser, &devtype, SML_ELEMENT_DEVTYP, error)) goto error; sml_dev_inf_set_dev_typ(devinf, smlDevInfDevTypeFromString(devtype, error)); smlSafeCFree(&devtype); - if (sml_dev_inf_get_dev_typ(devinf) == SML_DEVINF_DEVTYPE_UNKNOWN) + if (sml_dev_inf_get_dev_typ(devinf) == SML_DEVINF_DEVTYP_UNKNOWN) goto error; } else if (!strcmp((char *)xmlTextReaderConstName(parser->reader), SML_ELEMENT_UTC)) { if (sml_dev_inf_get_ver_dtd(devinf) == SML_DEVINF_VERSION_10) { Modified: trunk/libsyncml/sml_defines.h ============================================================================== --- trunk/libsyncml/sml_defines.h Thu Jun 25 16:25:55 2009 (r1119) +++ trunk/libsyncml/sml_defines.h Fri Jun 26 14:31:29 2009 (r1120) @@ -92,7 +92,7 @@ #define SML_ELEMENT_DATATYPE "DataType" #define SML_ELEMENT_DEVID "DevID" #define SML_ELEMENT_DEVINF "DevInf" -#define SML_ELEMENT_DEVTYPE "DevTyp" +#define SML_ELEMENT_DEVTYP "DevTyp" #define SML_ELEMENT_DISPLAYNAME "DisplayName" #define SML_ELEMENT_DSMEM "DSMem" #define SML_ELEMENT_EXT "Ext" Modified: trunk/libsyncml/sml_devinf.c ============================================================================== --- trunk/libsyncml/sml_devinf.c Thu Jun 25 16:25:55 2009 (r1119) +++ trunk/libsyncml/sml_devinf.c Fri Jun 26 14:31:29 2009 (r1120) @@ -35,23 +35,23 @@ CHECK_ERROR_REF if (!strcmp(name, SML_ELEMENT_DEVTYP_PAGER)) { - return SML_DEVINF_DEVTYPE_PAGER; + return SML_DEVINF_DEVTYP_PAGER; } else if (!strcmp(name, SML_ELEMENT_DEVTYP_HANDHELD)) { - return SML_DEVINF_DEVTYPE_HANDHELD; + return SML_DEVINF_DEVTYP_HANDHELD; } else if (!strcmp(name, SML_ELEMENT_DEVTYP_PDA)) { - return SML_DEVINF_DEVTYPE_PDA; + return SML_DEVINF_DEVTYP_PDA; } else if (!strcmp(name, SML_ELEMENT_DEVTYP_PHONE)) { - return SML_DEVINF_DEVTYPE_PHONE; + return SML_DEVINF_DEVTYP_PHONE; } else if (!strcmp(name, SML_ELEMENT_DEVTYP_SMARTPHONE)) { - return SML_DEVINF_DEVTYPE_SMARTPHONE; + return SML_DEVINF_DEVTYP_SMARTPHONE; } else if (!strcmp(name, SML_ELEMENT_DEVTYP_SERVER)) { - return SML_DEVINF_DEVTYPE_SERVER; + return SML_DEVINF_DEVTYP_SERVER; } else if (!strcmp(name, SML_ELEMENT_DEVTYP_WORKSTATION)) { - return SML_DEVINF_DEVTYPE_WORKSTATION; + return SML_DEVINF_DEVTYP_WORKSTATION; } smlErrorSet(error, SML_ERROR_GENERIC, "Unknown devinf type name \"%s\"", name); - return SML_DEVINF_DEVTYPE_UNKNOWN; + return SML_DEVINF_DEVTYP_UNKNOWN; } const char *smlDevInfDevTypeToString(SmlDevInfDevTyp type, SmlError **error) @@ -59,21 +59,21 @@ CHECK_ERROR_REF switch (type) { - case SML_DEVINF_DEVTYPE_PAGER: + case SML_DEVINF_DEVTYP_PAGER: return SML_ELEMENT_DEVTYP_PAGER; - case SML_DEVINF_DEVTYPE_HANDHELD: + case SML_DEVINF_DEVTYP_HANDHELD: return SML_ELEMENT_DEVTYP_HANDHELD; - case SML_DEVINF_DEVTYPE_PDA: + case SML_DEVINF_DEVTYP_PDA: return SML_ELEMENT_DEVTYP_PDA; - case SML_DEVINF_DEVTYPE_PHONE: + case SML_DEVINF_DEVTYP_PHONE: return SML_ELEMENT_DEVTYP_PHONE; - case SML_DEVINF_DEVTYPE_SMARTPHONE: + case SML_DEVINF_DEVTYP_SMARTPHONE: return SML_ELEMENT_DEVTYP_SMARTPHONE; - case SML_DEVINF_DEVTYPE_SERVER: + case SML_DEVINF_DEVTYP_SERVER: return SML_ELEMENT_DEVTYP_SERVER; - case SML_DEVINF_DEVTYPE_WORKSTATION: + case SML_DEVINF_DEVTYP_WORKSTATION: return SML_ELEMENT_DEVTYP_WORKSTATION; - case SML_DEVINF_DEVTYPE_UNKNOWN: + case SML_DEVINF_DEVTYP_UNKNOWN: smlErrorSet(error, SML_ERROR_GENERIC, "Unknown devinf type \"%i\"", type); /* fall through! */ } Modified: trunk/tests/CMakeLists.txt ============================================================================== --- trunk/tests/CMakeLists.txt Thu Jun 25 16:25:55 2009 (r1119) +++ trunk/tests/CMakeLists.txt Fri Jun 26 14:31:29 2009 (r1120) @@ -312,6 +312,8 @@ SML_ADD_TESTCASE( dev_inf_option_hwv ) SML_ADD_TESTCASE( dev_inf_enforce_data_stores ) SML_ADD_TESTCASE( dev_inf_enforce_ctcaps ) + SML_ADD_TESTCASE( dev_inf_compliance_error ) + SML_ADD_TESTCASE( dev_inf_compliance_1_0 ) SML_END_TEST() SML_START_TEST( "DevInfHelper" devinf check_devinf.c ${TEST_TARGET_LIBRARIES} ) Modified: trunk/tests/check_dev_inf.c ============================================================================== --- trunk/tests/check_dev_inf.c Thu Jun 25 16:25:55 2009 (r1119) +++ trunk/tests/check_dev_inf.c Fri Jun 26 14:31:29 2009 (r1120) @@ -133,19 +133,19 @@ SmlDevInf *devinf = sml_dev_inf_new(); sml_fail_unless(devinf != NULL, NULL); - sml_fail_unless(sml_dev_inf_get_dev_typ(devinf) == SML_DEVINF_DEVTYPE_UNKNOWN, "The default DevTyp must be SML_DEVINF_DEVTYPE_UNKNOWN."); + sml_fail_unless(sml_dev_inf_get_dev_typ(devinf) == SML_DEVINF_DEVTYP_UNKNOWN, "The default DevTyp must be SML_DEVINF_DEVTYP_UNKNOWN."); - sml_dev_inf_set_dev_typ(devinf, SML_DEVINF_DEVTYPE_UNKNOWN); + sml_dev_inf_set_dev_typ(devinf, SML_DEVINF_DEVTYP_UNKNOWN); - sml_fail_unless(sml_dev_inf_get_dev_typ(devinf) == SML_DEVINF_DEVTYPE_UNKNOWN, "The default DevTyp must be still set."); + sml_fail_unless(sml_dev_inf_get_dev_typ(devinf) == SML_DEVINF_DEVTYP_UNKNOWN, "The default DevTyp must be still set."); - sml_dev_inf_set_dev_typ(devinf, SML_DEVINF_DEVTYPE_SERVER); + sml_dev_inf_set_dev_typ(devinf, SML_DEVINF_DEVTYP_SERVER); - sml_fail_unless(sml_dev_inf_get_dev_typ(devinf) == SML_DEVINF_DEVTYPE_SERVER, "The DevTyp was already set."); + sml_fail_unless(sml_dev_inf_get_dev_typ(devinf) == SML_DEVINF_DEVTYP_SERVER, "The DevTyp was already set."); - sml_dev_inf_set_dev_typ(devinf, SML_DEVINF_DEVTYPE_UNKNOWN); + sml_dev_inf_set_dev_typ(devinf, SML_DEVINF_DEVTYP_UNKNOWN); - sml_fail_unless(sml_dev_inf_get_dev_typ(devinf) == SML_DEVINF_DEVTYPE_SERVER, "The DevTyp must be still set."); + sml_fail_unless(sml_dev_inf_get_dev_typ(devinf) == SML_DEVINF_DEVTYP_SERVER, "The DevTyp must be still set."); g_object_unref(devinf); } @@ -456,8 +456,117 @@ } END_TEST +START_TEST (dev_inf_compliance_error) +{ + g_type_init(); + + GError *error = NULL; + SmlDevInf *devinf = sml_dev_inf_new(); + sml_fail_unless(devinf != NULL, NULL); + + /* The actual object is not compliant and there is no error pointer + * but the function should return NULL and should not throw an assertion. + */ + sml_fail_unless(sml_dev_inf_is_compliant(devinf, NULL) == FALSE, NULL); + + /* This is the usual case. + * The object is not compliant and the error pointer is available. + */ + sml_fail_unless(sml_dev_inf_is_compliant(devinf, &error) == FALSE, NULL); + sml_fail_unless(error != NULL, "The error must be set if an error appears."); + g_error_free(error); + error = NULL; + + g_object_unref(devinf); +} +END_TEST + +#define INIT_DEV_INF_OBJECT \ + devinf = sml_dev_inf_new(); \ + sml_fail_unless(devinf != NULL, NULL); + +#define CHECK_COMPLIANCE_ERROR \ + sml_fail_unless(sml_dev_inf_is_compliant(devinf, NULL) == FALSE, NULL); \ + sml_fail_unless(sml_dev_inf_is_compliant(devinf, &error) == FALSE, NULL); \ + sml_fail_unless(error != NULL, "The error must be set if an error appears."); \ + g_error_free(error); \ + error = NULL; \ + g_object_unref(devinf); \ + devinf = NULL; + +#define CHECK_COMPLIANCE_SUCCESS \ + sml_fail_unless(sml_dev_inf_is_compliant(devinf, &error) == TRUE, "%s", error?error->message:"No GError set."); \ + sml_fail_unless(sml_dev_inf_is_compliant(devinf, NULL) == TRUE, NULL); \ + g_object_unref(devinf); \ + devinf = NULL; + +START_TEST (dev_inf_compliance_1_0) +{ + g_type_init(); + + GError *error = NULL; + SmlDevInf *devinf = NULL; + + SmlDevInfDataStore *datastore = sml_dev_inf_data_store_new("Contacts", &error); + sml_fail_unless(datastore != NULL, NULL); + + /* missing VerDTD, DevID, DevTyp and data store*/ + INIT_DEV_INF_OBJECT + CHECK_COMPLIANCE_ERROR + + /* missing DevID, DevTyp and data store*/ + INIT_DEV_INF_OBJECT + sml_dev_inf_set_ver_dtd(devinf, SML_DEVINF_VERSION_10); + CHECK_COMPLIANCE_ERROR + + /* missing VerDTD, DevTyp and data store*/ + INIT_DEV_INF_OBJECT + sml_fail_unless(sml_dev_inf_set_dev_id(devinf, "my device", &error) == TRUE, "%s", error?error->message:"No GError set."); + CHECK_COMPLIANCE_ERROR + + /* missing VerDTD, DevID and data store*/ + INIT_DEV_INF_OBJECT + sml_dev_inf_set_dev_typ(devinf, SML_DEVINF_DEVTYP_SERVER); + CHECK_COMPLIANCE_ERROR + + /* missing VerDTD, data store*/ + INIT_DEV_INF_OBJECT + sml_dev_inf_set_dev_typ(devinf, SML_DEVINF_DEVTYP_SERVER); + sml_fail_unless(sml_dev_inf_set_dev_id(devinf, "my device", &error) == TRUE, "%s", error?error->message:"No GError set."); + CHECK_COMPLIANCE_ERROR + + /* missing DevID and data store*/ + INIT_DEV_INF_OBJECT + sml_dev_inf_set_ver_dtd(devinf, SML_DEVINF_VERSION_10); + sml_dev_inf_set_dev_typ(devinf, SML_DEVINF_DEVTYP_SERVER); + CHECK_COMPLIANCE_ERROR + + /* missing DevTyp and data store*/ + INIT_DEV_INF_OBJECT + sml_dev_inf_set_ver_dtd(devinf, SML_DEVINF_VERSION_10); + sml_fail_unless(sml_dev_inf_set_dev_id(devinf, "my device", &error) == TRUE, "%s", error?error->message:"No GError set."); + CHECK_COMPLIANCE_ERROR + + /* missing data store */ + INIT_DEV_INF_OBJECT + sml_dev_inf_set_ver_dtd(devinf, SML_DEVINF_VERSION_10); + sml_fail_unless(sml_dev_inf_set_dev_id(devinf, "my device", &error) == TRUE, "%s", error?error->message:"No GError set."); + sml_dev_inf_set_dev_typ(devinf, SML_DEVINF_DEVTYP_SERVER); + CHECK_COMPLIANCE_ERROR + + /* compliant */ + INIT_DEV_INF_OBJECT + sml_dev_inf_set_ver_dtd(devinf, SML_DEVINF_VERSION_10); + sml_fail_unless(sml_dev_inf_set_dev_id(devinf, "my device", &error) == TRUE, "%s", error?error->message:"No GError set."); + sml_dev_inf_set_dev_typ(devinf, SML_DEVINF_DEVTYP_SERVER); + sml_fail_unless(sml_dev_inf_add_data_store(devinf, datastore, &error) == TRUE, "%s", error?error->message:"No GError set."); + CHECK_COMPLIANCE_SUCCESS + + g_object_unref(datastore); +} +END_TEST + /* - test validation with and without error basic 1.0 profile with validation basic 1.1 profile with validation Modified: trunk/tests/check_devinf.c ============================================================================== --- trunk/tests/check_devinf.c Thu Jun 25 16:25:55 2009 (r1119) +++ trunk/tests/check_devinf.c Fri Jun 26 14:31:29 2009 (r1120) @@ -131,7 +131,7 @@ /* The devinf obj for the server */ SmlDevInf *devinf = sml_dev_inf_new(); sml_fail_unless(devinf != NULL, NULL); - sml_dev_inf_set_dev_typ(devinf, SML_DEVINF_DEVTYPE_WORKSTATION); + sml_dev_inf_set_dev_typ(devinf, SML_DEVINF_DEVTYP_WORKSTATION); sml_fail_unless(sml_dev_inf_set_dev_id(devinf, "LibSyncML", &gerror), "%s", gerror?gerror->message:"No GError set."); sml_dev_inf_set_support_large_objs(devinf, TRUE); SmlDevInfAgent *agent = smlDevInfAgentNew(devinf, &error); @@ -259,7 +259,7 @@ /* The devinf obj */ SmlDevInf *devinf = sml_dev_inf_new(); sml_fail_unless(devinf != NULL, NULL); - sml_dev_inf_set_dev_typ(devinf, SML_DEVINF_DEVTYPE_WORKSTATION); + sml_dev_inf_set_dev_typ(devinf, SML_DEVINF_DEVTYP_WORKSTATION); sml_fail_unless(sml_dev_inf_set_dev_id(devinf, "LibSyncML", &gerror), "%s", gerror?gerror->message:"No GError set."); SmlDevInfAgent *clientagent = smlDevInfAgentNew(devinf, &error); smlDevInfAgentRegister(clientagent, clientmanager, &error); @@ -276,7 +276,7 @@ devinf = sml_dev_inf_new(); sml_fail_unless(devinf != NULL, NULL); - sml_dev_inf_set_dev_typ(devinf, SML_DEVINF_DEVTYPE_SERVER); + sml_dev_inf_set_dev_typ(devinf, SML_DEVINF_DEVTYP_SERVER); sml_fail_unless(sml_dev_inf_set_dev_id(devinf, "LibSyncML", &gerror), "%s", gerror?gerror->message:"No GError set."); sml_dev_inf_set_support_large_objs(devinf, TRUE); SmlDevInfAgent *serveragent = smlDevInfAgentNew(devinf, &error); Modified: trunk/tests/check_sync.c ============================================================================== --- trunk/tests/check_sync.c Thu Jun 25 16:25:55 2009 (r1119) +++ trunk/tests/check_sync.c Fri Jun 26 14:31:29 2009 (r1120) @@ -1152,7 +1152,7 @@ /* The devinf obj */ SmlDevInf *devinf = sml_dev_inf_new(); sml_fail_unless(devinf != NULL, NULL); - sml_dev_inf_set_dev_typ(devinf, SML_DEVINF_DEVTYPE_WORKSTATION); + sml_dev_inf_set_dev_typ(devinf, SML_DEVINF_DEVTYP_WORKSTATION); sml_fail_unless(sml_dev_inf_set_dev_id(devinf, "LibSyncML", &gerror), "%s", gerror?gerror->message:"No GError set."); sml_dev_inf_set_support_number_of_changes(devinf, TRUE); sml_dev_inf_set_support_large_objs(devinf, FALSE); @@ -1187,7 +1187,7 @@ devinf = sml_dev_inf_new(); sml_fail_unless(devinf != NULL, NULL); - sml_dev_inf_set_dev_typ(devinf, SML_DEVINF_DEVTYPE_SERVER); + sml_dev_inf_set_dev_typ(devinf, SML_DEVINF_DEVTYP_SERVER); sml_fail_unless(sml_dev_inf_set_dev_id(devinf, "LibSyncML", &gerror), "%s", gerror?gerror->message:"No GError set."); sml_dev_inf_set_support_number_of_changes(devinf, TRUE); sml_dev_inf_set_support_large_objs(devinf, TRUE); Modified: trunk/tests/check_xml_assembler.c ============================================================================== --- trunk/tests/check_xml_assembler.c Thu Jun 25 16:25:55 2009 (r1119) +++ trunk/tests/check_xml_assembler.c Fri Jun 26 14:31:29 2009 (r1120) @@ -893,7 +893,7 @@ SmlDevInf *devinf = sml_dev_inf_new(); sml_fail_unless(devinf != NULL, NULL); - sml_dev_inf_set_dev_typ(devinf, SML_DEVINF_DEVTYPE_WORKSTATION); + sml_dev_inf_set_dev_typ(devinf, SML_DEVINF_DEVTYP_WORKSTATION); sml_fail_unless(sml_dev_inf_set_dev_id(devinf, "mydevice", &gerror), "%s", gerror?gerror->message:"No GError set."); sml_fail_unless(devinf != NULL, NULL); sml_fail_unless(gerror == NULL, NULL); @@ -967,7 +967,7 @@ SmlDevInf *devinf = sml_dev_inf_new(); sml_fail_unless(devinf != NULL, NULL); - sml_dev_inf_set_dev_typ(devinf, SML_DEVINF_DEVTYPE_WORKSTATION); + sml_dev_inf_set_dev_typ(devinf, SML_DEVINF_DEVTYP_WORKSTATION); sml_fail_unless(sml_dev_inf_set_dev_id(devinf, "mydevice", &gerror), "%s", gerror?gerror->message:"No GError set."); sml_fail_unless(devinf != NULL, NULL); sml_fail_unless(error == NULL, NULL); Modified: trunk/tools/syncml-obex-client.c ============================================================================== --- trunk/tools/syncml-obex-client.c Thu Jun 25 16:25:55 2009 (r1119) +++ trunk/tools/syncml-obex-client.c Fri Jun 26 14:31:29 2009 (r1120) @@ -650,7 +650,7 @@ /* Now create the devinf handler */ - devinf = smlDevInfNew("LibSyncmML", SML_DEVINF_DEVTYPE_WORKSTATION, &error); + devinf = smlDevInfNew("LibSyncmML", SML_DEVINF_DEVTYP_WORKSTATION, &error); if (!devinf) goto error_free_manager; smlDevInfSetSupportsNumberOfChanges(devinf, useNumberOfChanges); |