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




class QgsMimeDataUtils
{

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

    struct Uri
    {
      Uri();
%Docstring
Constructs invalid URI
%End
      explicit Uri( QString &encData );
%Docstring
Constructs URI from encoded data
%End

      bool isValid() const;
%Docstring
Returns whether the object contains valid data

.. versionadded:: 3.0
%End

      QString data() const;
%Docstring
Returns encoded representation of the object
%End

      QgsVectorLayer *vectorLayer( bool &owner, QString &error ) const;
%Docstring
Gets vector layer from uri if possible, otherwise returns None and error is set

:param owner: set to true if caller becomes owner
:param error: set to error message if cannot get vector
%End

      QgsRasterLayer *rasterLayer( bool &owner, QString &error ) const;
%Docstring
Gets raster layer from uri if possible, otherwise returns None and error is set

:param owner: set to true if caller becomes owner
:param error: set to error message if cannot get raster
%End

      QgsMeshLayer *meshLayer( bool &owner, QString &error ) const;
%Docstring
Gets mesh layer from uri if possible, otherwise returns None and error is set

:param owner: set to true if caller becomes owner
:param error: set to error message if cannot get raster
%End

      QString layerType;

      QString providerKey;

      QString name;
      QString uri;
      QStringList supportedCrs;
      QStringList supportedFormats;

      SIP_PYOBJECT __repr__();
%MethodCode
      QString str = QStringLiteral( "<QgsMimeDataUtils::Uri (%1): %2>" ).arg( sipCpp->providerKey, sipCpp->uri );
      sipRes = PyUnicode_FromString( str.toUtf8().constData() );
%End
    };
    typedef QList<QgsMimeDataUtils::Uri> UriList;

    static QMimeData *encodeUriList( const UriList &layers ) /Factory/;
%Docstring
Encodes a URI list to a new QMimeData object.
%End

    static bool isUriList( const QMimeData *data );

    static UriList decodeUriList( const QMimeData *data );

    static QByteArray layerTreeNodesToUriList( const QList<QgsLayerTreeNode *> &nodes );
%Docstring
Returns encoded URI list from a list of layer tree nodes.

.. versionadded:: 3.0
%End

};



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