/* If @cancellable is not NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error G_IO_ERROR_CANCELLED will be set  */
void g_file_input_stream_query_info_async(GFileInputStream *stream, const char *attributes, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data)
/* If @cancellable is not NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error G_IO_ERROR_CANCELLED will be set  */
void g_file_input_stream_query_info_async(GFileInputStream *stream, const char *attributes, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data)
{
  GFileInputStreamClass *klass;
  GInputStream *input_stream;
  GError *error = NULL;
  g_return_if_fail (G_IS_FILE_INPUT_STREAM (stream));
  input_stream = G_INPUT_STREAM (stream);
  if (!g_input_stream_set_pending (input_stream, &error))
    {
      g_task_report_error (stream, callback, user_data,
                           g_file_input_stream_query_info_async,
                           error);
      return;
    }
  klass = G_FILE_INPUT_STREAM_GET_CLASS (stream);
  stream->priv->outstanding_callback = callback;
  g_object_ref (stream);
  klass->query_info_async (stream, attributes, io_priority, cancellable,
                           async_ready_callback_wrapper, user_data);
}