## EDataCapture EDataCapture — Capture data from streams |

## Functions

EDataCapture * | e_data_capture_new ()
GMainContext * | e_data_capture_ref_main_context ()

## Properties

GMainContext * | main-context | Read / Write / Construct Only

## Signals

void | finished | Run First

## Types and Values

struct | EDataCapture

## Object Hierarchy

        GObject
        ╰── EDataCapture

## Implemented Interfaces

EDataCapture implements GConverter.

## Includes

    #include <e-util/e-util.h>

## Description

EDataCapture is a GConverter that captures data until the end of the input data is seen, then emits a “finished” signal with the captured data in a GBytes instance.

When used with GConverterInputStream or GConverterOutputStream, an EDataCapture can discreetly capture the stream content for the purpose of caching.

## Functions

### e_data_capture_new ()

    EDataCapture *
    e_data_capture_new (GMainContext *main_context);

Creates a new EDataCapture. If `main_context` is `NULL`, then the “finished” signal will be emitted from the thread-default GMainContext for this thread.

#### Parameters

main_context | a GMainContext, or `NULL` |

#### Returns

an EDataCapture

### e_data_capture_ref_main_context ()

    GMainContext *
    e_data_capture_ref_main_context (EDataCapture *data_capture);

Returns the GMainContext from which the “finished” signal is emitted.

The returned GMainContext is referenced for thread-safety and must be unreferenced with `g_main_context_unref()` when finished with it.

#### Parameters

data_capture | an EDataCapture |

#### Returns

a GMainContext

## Types and Values

### struct EDataCapture

    struct EDataCapture;

Contains only private data that should be read and manipulated using the functions below.

## Property Details

### The `“main-context”` property

      “main-context”             GMainContext *

The GMainContext from which to emit the “finished” signal.

Flags: Read / Write / Construct Only

## Signal Details

### The `“finished”` signal

    void
    user_function (EDataCapture *data_capture,
                   GBytes       *data,
                   gpointer      user_data)

The ::finished signal is emitted when there is no more input data to be captured.

#### Parameters

data_capture | the EDataCapture that received the signal |
data | the captured data |
user_data | user data set when the signal handler was connected. |

Flags: Run First