/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/core/processing/qgsprocessingfeedback.h                          *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 ************************************************************************/





class QgsProcessingFeedback : QgsFeedback
{
%Docstring(signature="appended")
Base class for providing feedback from a processing algorithm.

This base class implementation silently ignores all feedback reported by
algorithms. Subclasses of :py:class:`QgsProcessingFeedback` can be used
to log this feedback or report it to users via the GUI.
%End

%TypeHeaderCode
#include "qgsprocessingfeedback.h"
%End
  public:

    QgsProcessingFeedback( bool logFeedback = true );
%Docstring
Constructor for QgsProcessingFeedback.

If ``logFeedback`` is ``True``, then all feedback received will be
directed to :py:class:`QgsMessageLog`.
%End

    virtual void setProgressText( const QString &text );
%Docstring
Sets a progress report text string. This can be used in conjunction with
:py:func:`~QgsProcessingFeedback.setProgress` to provide detailed
progress reports, such as "Transformed 4 of 5 layers".

.. seealso:: :py:func:`setProgress`
%End

    virtual void reportError( const QString &error, bool fatalError = false );
%Docstring
Reports that the algorithm encountered an ``error`` while executing.

If ``fatalError`` is ``True`` then the error prevented the algorithm
from executing.
%End

    virtual void pushWarning( const QString &warning );
%Docstring
Pushes a warning informational message from the algorithm. This should
only be used sparsely as to maintain the importance of visual queues
associated to this type of message.

.. seealso:: :py:func:`pushInfo`

.. seealso:: :py:func:`pushCommandInfo`

.. seealso:: :py:func:`pushDebugInfo`

.. seealso:: :py:func:`pushConsoleInfo`

.. versionadded:: 3.16.2
%End

    virtual void pushInfo( const QString &info );
%Docstring
Pushes a general informational message from the algorithm. This can be
used to report feedback which is neither a status report or an error,
such as "Found 47 matching features".

.. seealso:: :py:func:`pushFormattedMessage`

.. seealso:: :py:func:`pushWarning`

.. seealso:: :py:func:`pushCommandInfo`

.. seealso:: :py:func:`pushDebugInfo`

.. seealso:: :py:func:`pushConsoleInfo`
%End

    virtual void pushFormattedMessage( const QString &html, const QString &text );
%Docstring
Pushes a pre-formatted message from the algorithm.

This can be used to push formatted HTML messages to the feedback object.
A plain ``text`` version of the message must also be specified.

.. seealso:: :py:func:`pushInfo`

.. seealso:: :py:func:`pushWarning`

.. seealso:: :py:func:`pushCommandInfo`

.. seealso:: :py:func:`pushDebugInfo`

.. seealso:: :py:func:`pushConsoleInfo`

.. versionadded:: 3.36
%End

    virtual void pushCommandInfo( const QString &info );
%Docstring
Pushes an informational message containing a command from the algorithm.
This is usually used to report commands which are executed in an
external application or as subprocesses.

.. seealso:: :py:func:`pushWarning`

.. seealso:: :py:func:`pushInfo`

.. seealso:: :py:func:`pushDebugInfo`

.. seealso:: :py:func:`pushConsoleInfo`
%End

    virtual void pushDebugInfo( const QString &info );
%Docstring
Pushes an informational message containing debugging helpers from the
algorithm.

.. seealso:: :py:func:`pushWarning`

.. seealso:: :py:func:`pushInfo`

.. seealso:: :py:func:`pushCommandInfo`

.. seealso:: :py:func:`pushConsoleInfo`
%End

    virtual void pushConsoleInfo( const QString &info );
%Docstring
Pushes a console feedback message from the algorithm. This is used to
report the output from executing an external command or subprocess.

.. seealso:: :py:func:`pushWarning`

.. seealso:: :py:func:`pushInfo`

.. seealso:: :py:func:`pushDebugInfo`

.. seealso:: :py:func:`pushCommandInfo`
%End

    void pushVersionInfo( const QgsProcessingProvider *provider = 0 );
%Docstring
Pushes a summary of the QGIS (and underlying library) version
information to the log.

.. versionadded:: 3.4.7
%End

    void pushFormattedResults( const QgsProcessingAlgorithm *algorithm, QgsProcessingContext &context, const QVariantMap &results );
%Docstring
Pushes a summary of the execution ``results`` to the log

.. versionadded:: 3.36
%End

    virtual QString htmlLog() const;
%Docstring
Returns the HTML formatted contents of the log, which contains all
messages pushed to the feedback object.

.. seealso:: :py:func:`textLog`

.. versionadded:: 3.14
%End

    virtual QString textLog() const;
%Docstring
Returns the plain text contents of the log, which contains all messages
pushed to the feedback object.

.. seealso:: :py:func:`htmlLog`

.. versionadded:: 3.14
%End

};


class QgsProcessingMultiStepFeedback : QgsProcessingFeedback
{
%Docstring(signature="appended")
Processing feedback object for multi-step operations.

A processing feedback object which proxies its calls to an underlying
feedback object, but scales overall progress reports to account for a
number of child steps which each report their own feedback.
%End

%TypeHeaderCode
#include "qgsprocessingfeedback.h"
%End
  public:

    QgsProcessingMultiStepFeedback( int steps, QgsProcessingFeedback *feedback );
%Docstring
Constructor for QgsProcessingMultiStepFeedback, for a process with the
specified number of ``steps``. This feedback object will proxy calls to
the specified ``feedback`` object.
%End

    void setCurrentStep( int step );
%Docstring
Sets the ``step`` which is being executed. This is used to scale the
current progress to account for progress through the overall process.
%End

    virtual void setProgressText( const QString &text );

    virtual void reportError( const QString &error, bool fatalError = false );

    virtual void pushWarning( const QString &warning );

    virtual void pushInfo( const QString &info );

    virtual void pushCommandInfo( const QString &info );

    virtual void pushDebugInfo( const QString &info );

    virtual void pushConsoleInfo( const QString &info );

    virtual void pushFormattedMessage( const QString &html, const QString &text );


    virtual QString htmlLog() const;

    virtual QString textLog() const;

};



/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/core/processing/qgsprocessingfeedback.h                          *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 ************************************************************************/
