static void test_apparam_set_multi(void) { GObexApparam *apparam; guint8 buf[1024]; gsize len; apparam = g_obex_apparam_set_uint8(NULL, TAG_U8, 0x01); g_assert(apparam != NULL); apparam = g_obex_apparam_set_uint16(apparam, TAG_U16, 0x0102); g_assert(apparam != NULL); apparam = g_obex_apparam_set_uint32(apparam, TAG_U32, 0x01020304); g_assert(apparam != NULL); apparam = g_obex_apparam_set_uint64(apparam, TAG_U64, 0x0102030405060708); g_assert(apparam != NULL); apparam = g_obex_apparam_set_string(apparam, TAG_STRING, "ABC"); g_assert(apparam != NULL); len = g_obex_apparam_encode(apparam, buf, sizeof(buf)); g_assert_cmpuint(len, ==, sizeof(tag_multi)); g_obex_apparam_free(apparam); }
static void test_apparam_set_uint32(void) { GObexApparam *apparam; guint8 buf[1024]; gsize len; apparam = g_obex_apparam_set_uint32(NULL, TAG_U32, 0x01020304); g_assert(apparam != NULL); len = g_obex_apparam_encode(apparam, buf, sizeof(buf)); assert_memequal(tag_uint32, sizeof(tag_uint32), buf, len); g_obex_apparam_free(apparam); }
static void test_header_apparam(void) { GObexHeader *header; GObexApparam *apparam; uint8_t buf[1024]; size_t len; apparam = g_obex_apparam_set_uint32(NULL, 0, 0x01020304); g_assert(apparam != NULL); header = g_obex_header_new_apparam(apparam); g_assert(header != NULL); len = g_obex_header_encode(header, buf, sizeof(buf)); assert_memequal(hdr_apparam, sizeof(hdr_apparam), buf, len); g_obex_apparam_free(apparam); g_obex_header_free(header); }
static GObexApparam *parse_fields(GObexApparam *apparam, DBusMessageIter *iter) { DBusMessageIter array; guint32 filter = 0; if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_ARRAY) return NULL; dbus_message_iter_recurse(iter, &array); while (dbus_message_iter_get_arg_type(&array) == DBUS_TYPE_STRING) { const char *string; dbus_message_iter_get_basic(&array, &string); if (set_field(&filter, string) < 0) return NULL; dbus_message_iter_next(&array); } return g_obex_apparam_set_uint32(apparam, MAP_AP_PARAMETERMASK, filter); }