static void test_header_uint8(void)
{
	GObexHeader *header;
	uint8_t buf[1024];
	size_t len;

	header = g_obex_header_new_uint8(G_OBEX_HDR_ACTION, 0xab);

	g_assert(header != NULL);

	len = g_obex_header_encode(header, buf, sizeof(buf));

	assert_memequal(hdr_actionid, sizeof(hdr_actionid), buf, len);

	g_obex_header_free(header);
}
Example #2
0
GSList *g_obex_header_create_list(guint8 first_hdr_id, va_list args,
                                  gsize *total_len)
{
    unsigned int id = first_hdr_id;
    GSList *l = NULL;

    g_obex_debug(G_OBEX_DEBUG_HEADER, "");

    *total_len = 0;

    while (id != G_OBEX_HDR_INVALID) {
        GObexHeader *hdr;
        const char *str;
        const void *bytes;
        unsigned int val;
        gsize len;

        switch (G_OBEX_HDR_ENC(id)) {
        case G_OBEX_HDR_ENC_UNICODE:
            str = va_arg(args, const char *);
            hdr = g_obex_header_new_unicode(id, str);
            break;
        case G_OBEX_HDR_ENC_BYTES:
            bytes = va_arg(args, void *);
            len = va_arg(args, gsize);
            hdr = g_obex_header_new_bytes(id, bytes, len);
            break;
        case G_OBEX_HDR_ENC_UINT8:
            val = va_arg(args, unsigned int);
            hdr = g_obex_header_new_uint8(id, val);
            break;
        case G_OBEX_HDR_ENC_UINT32:
            val = va_arg(args, unsigned int);
            hdr = g_obex_header_new_uint32(id, val);
            break;
        default:
            g_assert_not_reached();
        }

        l = g_slist_append(l, hdr);
        *total_len += hdr->hlen;
        id = va_arg(args, int);
    }

    return l;
}
Example #3
0
File: gobex.c Project: Fiend90/obex
static void prepare_srm_req(GObex *obex, GObexPacket *pkt)
{
	GObexHeader *hdr;

	if (!obex->use_srm)
		return;

	if (obex->srm != NULL && obex->srm->enabled)
		return;

	hdr = g_obex_packet_get_header(pkt, G_OBEX_HDR_SRM);
	if (hdr != NULL)
		return;

	hdr = g_obex_header_new_uint8(G_OBEX_HDR_SRM, G_OBEX_SRM_ENABLE);
	g_obex_packet_prepend_header(pkt, hdr);
}