### Method

# Gio DatagramBased create_source

since: 2.48

#### Declaration

    GSource*
    g_datagram_based_create_source (
      GDatagramBased* datagram_based,
      GIOCondition condition,
      GCancellable* cancellable
    )

#### Description

Creates a `GSource` that can be attached to a `GMainContext` to monitor for the availability of the specified `condition` on the `GDatagramBased`. The `GSource` keeps a reference to the `datagram_based`.

The callback on the source is of the `GDatagramBasedSourceFunc` type.

It is meaningless to specify `G_IO_ERR` or `G_IO_HUP` in `condition`; these conditions will always be reported in the callback if they are true.

If non-`NULL`, `cancellable` can be used to cancel the source, which will cause the source to trigger, reporting the current condition (which is likely 0 unless cancellation happened at the same time as a condition change). You can check for this in the callback using g_cancellable_is_cancelled().

Available since: 2.48

#### Parameters

`condition`

  Type: `GIOCondition`

  A `GIOCondition` mask to monitor.

`cancellable`

  Type: `GCancellable`

  A `GCancellable`.

  The argument can be `NULL`.
  The data is owned by the caller of the method.

#### Return value

Type: `GSource`

A newly allocated `GSource`.

The caller of the method takes ownership of the data, and is responsible for freeing it.