mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-06 00:07:29 -04:00
Just require ints instead of QNetworkAccessManager::Operation enum
The sip conversion code fails with enums under qt 6
This commit is contained in:
parent
9b96cfde8b
commit
6953aec591
@ -394,14 +394,14 @@ It should return the desired operation and request data as a tuple, transforming
|
||||
QString id;
|
||||
Py_XINCREF( a0 );
|
||||
Py_BEGIN_ALLOW_THREADS
|
||||
id = QgsNetworkAccessManager::setAdvancedRequestPreprocessor( [a0]( QNetworkRequest *reqArg, QNetworkAccessManager::Operation &op, QByteArray *data )
|
||||
id = QgsNetworkAccessManager::setAdvancedRequestPreprocessor( [a0]( QNetworkRequest *reqArg, int &op, QByteArray *data )
|
||||
{
|
||||
SIP_BLOCK_THREADS
|
||||
|
||||
PyObject *requestObj = sipConvertFromType( reqArg, sipType_QNetworkRequest, NULL );
|
||||
PyObject *postDataObj = sipConvertFromType( new QByteArray( *data ), sipType_QByteArray, Py_None );
|
||||
|
||||
PyObject *result = sipCallMethod( NULL, a0, "RiR", requestObj, static_cast<int>( op ), postDataObj );
|
||||
PyObject *result = sipCallMethod( NULL, a0, "RiR", requestObj, op, postDataObj );
|
||||
|
||||
Py_XDECREF( requestObj );
|
||||
Py_XDECREF( postDataObj );
|
||||
@ -412,7 +412,7 @@ It should return the desired operation and request data as a tuple, transforming
|
||||
PyObject *opObj = PyTuple_GetItem( result, 0 );
|
||||
if ( opObj && PyLong_Check( opObj ) )
|
||||
{
|
||||
op = static_cast<QNetworkAccessManager::Operation>( PyLong_AsLong( opObj ) );
|
||||
op = static_cast<int>( PyLong_AsLong( opObj ) );
|
||||
}
|
||||
PyObject *dataObj = PyTuple_GetItem( result, 1 );
|
||||
if ( dataObj && dataObj != Py_None )
|
||||
|
@ -394,14 +394,14 @@ It should return the desired operation and request data as a tuple, transforming
|
||||
QString id;
|
||||
Py_XINCREF( a0 );
|
||||
Py_BEGIN_ALLOW_THREADS
|
||||
id = QgsNetworkAccessManager::setAdvancedRequestPreprocessor( [a0]( QNetworkRequest *reqArg, QNetworkAccessManager::Operation &op, QByteArray *data )
|
||||
id = QgsNetworkAccessManager::setAdvancedRequestPreprocessor( [a0]( QNetworkRequest *reqArg, int &op, QByteArray *data )
|
||||
{
|
||||
SIP_BLOCK_THREADS
|
||||
|
||||
PyObject *requestObj = sipConvertFromType( reqArg, sipType_QNetworkRequest, NULL );
|
||||
PyObject *postDataObj = sipConvertFromType( new QByteArray( *data ), sipType_QByteArray, Py_None );
|
||||
|
||||
PyObject *result = sipCallMethod( NULL, a0, "RiR", requestObj, static_cast<int>( op ), postDataObj );
|
||||
PyObject *result = sipCallMethod( NULL, a0, "RiR", requestObj, op, postDataObj );
|
||||
|
||||
Py_XDECREF( requestObj );
|
||||
Py_XDECREF( postDataObj );
|
||||
@ -412,7 +412,7 @@ It should return the desired operation and request data as a tuple, transforming
|
||||
PyObject *opObj = PyTuple_GetItem( result, 0 );
|
||||
if ( opObj && PyLong_Check( opObj ) )
|
||||
{
|
||||
op = static_cast<QNetworkAccessManager::Operation>( PyLong_AsLong( opObj ) );
|
||||
op = static_cast<int>( PyLong_AsLong( opObj ) );
|
||||
}
|
||||
PyObject *dataObj = PyTuple_GetItem( result, 1 );
|
||||
if ( dataObj && dataObj != Py_None )
|
||||
|
@ -57,7 +57,7 @@ const QgsSettingsEntryInteger *QgsNetworkAccessManager::settingsNetworkTimeout =
|
||||
QgsNetworkAccessManager *QgsNetworkAccessManager::sMainNAM = nullptr;
|
||||
|
||||
static std::vector< std::pair< QString, std::function< void( QNetworkRequest * ) > > > sCustomPreprocessors;
|
||||
static std::vector< std::pair< QString, std::function< void( QNetworkRequest *, QNetworkAccessManager::Operation &op, QByteArray *data ) > > > sCustomAdvancedPreprocessors;
|
||||
static std::vector< std::pair< QString, std::function< void( QNetworkRequest *, int &op, QByteArray *data ) > > > sCustomAdvancedPreprocessors;
|
||||
static std::vector< std::pair< QString, std::function< void( const QNetworkRequest &, QNetworkReply * ) > > > sCustomReplyPreprocessors;
|
||||
|
||||
/// @cond PRIVATE
|
||||
@ -357,7 +357,9 @@ QNetworkReply *QgsNetworkAccessManager::createRequest( QNetworkAccessManager::Op
|
||||
|
||||
for ( const auto &preprocessor : sCustomAdvancedPreprocessors )
|
||||
{
|
||||
preprocessor.second( pReq, op, &content );
|
||||
int intOp = static_cast< int >( op );
|
||||
preprocessor.second( pReq, intOp, &content );
|
||||
op = static_cast< QNetworkAccessManager::Operation >( intOp );
|
||||
}
|
||||
|
||||
emit requestAboutToBeCreated( QgsNetworkRequestParameters( op, req, requestId, content ) );
|
||||
@ -835,14 +837,14 @@ bool QgsNetworkAccessManager::removeRequestPreprocessor( const QString &id )
|
||||
bool QgsNetworkAccessManager::removeAdvancedRequestPreprocessor( const QString &id )
|
||||
{
|
||||
const size_t prevCount = sCustomAdvancedPreprocessors.size();
|
||||
sCustomAdvancedPreprocessors.erase( std::remove_if( sCustomAdvancedPreprocessors.begin(), sCustomAdvancedPreprocessors.end(), [id]( std::pair< QString, std::function< void( QNetworkRequest *, QNetworkAccessManager::Operation &, QByteArray * ) > > &a )
|
||||
sCustomAdvancedPreprocessors.erase( std::remove_if( sCustomAdvancedPreprocessors.begin(), sCustomAdvancedPreprocessors.end(), [id]( std::pair< QString, std::function< void( QNetworkRequest *, int &, QByteArray * ) > > &a )
|
||||
{
|
||||
return a.first == id;
|
||||
} ), sCustomAdvancedPreprocessors.end() );
|
||||
return prevCount != sCustomAdvancedPreprocessors.size();
|
||||
}
|
||||
|
||||
QString QgsNetworkAccessManager::setAdvancedRequestPreprocessor( const std::function<void ( QNetworkRequest *, QNetworkAccessManager::Operation &, QByteArray * )> &processor )
|
||||
QString QgsNetworkAccessManager::setAdvancedRequestPreprocessor( const std::function<void ( QNetworkRequest *, int &, QByteArray * )> &processor )
|
||||
{
|
||||
QString id = QUuid::createUuid().toString();
|
||||
sCustomAdvancedPreprocessors.emplace_back( std::make_pair( id, processor ) );
|
||||
|
@ -583,7 +583,7 @@ class CORE_EXPORT QgsNetworkAccessManager : public QNetworkAccessManager
|
||||
* \since QGIS 3.44
|
||||
*/
|
||||
#ifndef SIP_RUN
|
||||
static QString setAdvancedRequestPreprocessor( const std::function< void( QNetworkRequest *, QNetworkAccessManager::Operation &op, QByteArray *data )> &processor );
|
||||
static QString setAdvancedRequestPreprocessor( const std::function< void( QNetworkRequest *, int &op, QByteArray *data )> &processor );
|
||||
#else
|
||||
static QString setAdvancedRequestPreprocessor( SIP_PYCALLABLE / AllowNone / );
|
||||
% MethodCode
|
||||
@ -591,14 +591,14 @@ class CORE_EXPORT QgsNetworkAccessManager : public QNetworkAccessManager
|
||||
QString id;
|
||||
Py_XINCREF( a0 );
|
||||
Py_BEGIN_ALLOW_THREADS
|
||||
id = QgsNetworkAccessManager::setAdvancedRequestPreprocessor( [a0]( QNetworkRequest *reqArg, QNetworkAccessManager::Operation &op, QByteArray *data )
|
||||
id = QgsNetworkAccessManager::setAdvancedRequestPreprocessor( [a0]( QNetworkRequest *reqArg, int &op, QByteArray *data )
|
||||
{
|
||||
SIP_BLOCK_THREADS
|
||||
|
||||
PyObject *requestObj = sipConvertFromType( reqArg, sipType_QNetworkRequest, NULL );
|
||||
PyObject *postDataObj = sipConvertFromType( new QByteArray( *data ), sipType_QByteArray, Py_None );
|
||||
|
||||
PyObject *result = sipCallMethod( NULL, a0, "RiR", requestObj, static_cast<int>( op ), postDataObj );
|
||||
PyObject *result = sipCallMethod( NULL, a0, "RiR", requestObj, op, postDataObj );
|
||||
|
||||
Py_XDECREF( requestObj );
|
||||
Py_XDECREF( postDataObj );
|
||||
@ -609,7 +609,7 @@ class CORE_EXPORT QgsNetworkAccessManager : public QNetworkAccessManager
|
||||
PyObject *opObj = PyTuple_GetItem( result, 0 );
|
||||
if ( opObj && PyLong_Check( opObj ) )
|
||||
{
|
||||
op = static_cast<QNetworkAccessManager::Operation>( PyLong_AsLong( opObj ) );
|
||||
op = static_cast<int>( PyLong_AsLong( opObj ) );
|
||||
}
|
||||
PyObject *dataObj = PyTuple_GetItem( result, 1 );
|
||||
if ( dataObj && dataObj != Py_None )
|
||||
|
Loading…
x
Reference in New Issue
Block a user