static void
transform_chunk_ready (YelpTransform    *transform,
                       gchar            *chunk_id,
                       YelpInfoDocument *info)
{
    YelpInfoDocumentPrivate *priv = GET_PRIV (info);
    gchar *content;

    g_assert (transform == priv->transform);

    if (priv->state == INFO_STATE_STOP) {
        info_document_disconnect (info);
        return;
    }

    content = yelp_transform_take_chunk (transform, chunk_id);
    yelp_document_give_contents (YELP_DOCUMENT (info),
                                 chunk_id,
                                 content,
                                 "application/xhtml+xml");

    yelp_document_signal (YELP_DOCUMENT (info),
                          chunk_id,
                          YELP_DOCUMENT_SIGNAL_INFO,
                          NULL);
    yelp_document_signal (YELP_DOCUMENT (info),
                          chunk_id,
                          YELP_DOCUMENT_SIGNAL_CONTENTS,
                          NULL);
}
Example #2
0
static void
transform_chunk (YelpTransform *transform,
		 const gchar   *chunk_id,
		 gpointer       user_data)
{
    gchar *chunk, *small;
    num_chunks++;
    printf ("\nCHUNK %i: %s\n", num_chunks, chunk_id);

    chunk = yelp_transform_take_chunk (transform, chunk_id);
    small = g_strndup (chunk, 300);
    printf ("%s\n", small);

    g_free (small);
    g_free (chunk);
}