mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-03-20 07:49:42 +01:00
Handle ScriptJob errors gracefully
This commit is contained in:
parent
3d4cfa0161
commit
558e6f5294
src/libtomahawk/resolvers
@ -24,6 +24,7 @@ using namespace Tomahawk;
|
||||
|
||||
ScriptJob::ScriptJob( const QString& id, ScriptObject* scriptObject, const QString& methodName, const QVariantMap& arguments )
|
||||
: QObject( scriptObject )
|
||||
, m_error( false )
|
||||
, m_id( id )
|
||||
, m_scriptObject( scriptObject )
|
||||
, m_methodName( methodName )
|
||||
@ -44,6 +45,13 @@ ScriptJob::start()
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
ScriptJob::error() const
|
||||
{
|
||||
return m_error;
|
||||
}
|
||||
|
||||
|
||||
ScriptObject*
|
||||
ScriptJob::scriptObject() const
|
||||
{
|
||||
@ -81,8 +89,9 @@ ScriptJob::reportResults( const QVariantMap& data )
|
||||
|
||||
|
||||
void
|
||||
ScriptJob::reportFailure()
|
||||
ScriptJob::reportFailure( const QString& errorMessage )
|
||||
{
|
||||
emit error( errorMessage );
|
||||
|
||||
reportResults( QVariantMap() );
|
||||
}
|
||||
|
||||
|
@ -39,23 +39,26 @@ public:
|
||||
|
||||
virtual void start();
|
||||
|
||||
bool error() const;
|
||||
|
||||
const QString id() const;
|
||||
ScriptObject* scriptObject() const;
|
||||
const QString methodName() const;
|
||||
const QVariantMap arguments() const;
|
||||
|
||||
public slots:
|
||||
void reportResults( const QVariantMap& data );
|
||||
void reportFailure();
|
||||
void reportResults( const QVariantMap& data = QVariantMap() );
|
||||
void reportFailure( const QString& errorMessage );
|
||||
|
||||
signals:
|
||||
void done( const QVariantMap& result );
|
||||
void failed( const QVariantMap& reason );
|
||||
void error( const QString& errorMessage );
|
||||
|
||||
void destroyed( const QString& id );
|
||||
|
||||
protected:
|
||||
// TODO: pimple
|
||||
bool m_error;
|
||||
QString m_id;
|
||||
ScriptObject* m_scriptObject;
|
||||
QVariantMap m_data;
|
||||
|
@ -69,7 +69,7 @@ ScriptPlugin::reportScriptJobResult( const QVariantMap& result )
|
||||
}
|
||||
else
|
||||
{
|
||||
job->reportFailure();
|
||||
job->reportFailure( result[ "error" ].toString() );
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user