[tracking] hook the install-tracking job into the build.

(it doesn't work yet, though .. multi-threading issues).
This commit is contained in:
Adriaan de Groot 2017-11-09 05:45:25 -05:00
parent a0b1410a50
commit 9a43b8a0e8
3 changed files with 14 additions and 2 deletions

View File

@ -2,8 +2,9 @@ calamares_add_plugin( tracking
TYPE viewmodule TYPE viewmodule
EXPORT_MACRO PLUGINDLLEXPORT_PRO EXPORT_MACRO PLUGINDLLEXPORT_PRO
SOURCES SOURCES
TrackingViewStep.cpp TrackingJobs.cpp
TrackingPage.cpp TrackingPage.cpp
TrackingViewStep.cpp
UI UI
page_trackingstep.ui page_trackingstep.ui
RESOURCES RESOURCES

View File

@ -26,11 +26,18 @@
TrackingInstallJob::TrackingInstallJob( const QString& url ) TrackingInstallJob::TrackingInstallJob( const QString& url )
: m_url( url ) : m_url( url )
, m_networkManager( new QNetworkAccessManager( this ) ) , m_networkManager( nullptr )
, m_semaphore( new QSemaphore( 1 ) ) , m_semaphore( new QSemaphore( 1 ) )
{ {
} }
TrackingInstallJob::~TrackingInstallJob()
{
Q_ASSERT( m_semaphore->available() == 1 );
delete m_semaphore;
delete m_networkManager;
}
QString TrackingInstallJob::prettyName() const QString TrackingInstallJob::prettyName() const
{ {
return tr( "Install-tracking" ); return tr( "Install-tracking" );
@ -48,6 +55,8 @@ QString TrackingInstallJob::prettyStatusMessage() const
Calamares::JobResult TrackingInstallJob::exec() Calamares::JobResult TrackingInstallJob::exec()
{ {
m_networkManager = new QNetworkAccessManager();
QNetworkRequest request; QNetworkRequest request;
request.setUrl( QUrl( m_url ) ); request.setUrl( QUrl( m_url ) );
// Follows all redirects except unsafe ones (https to http). // Follows all redirects except unsafe ones (https to http).

View File

@ -132,6 +132,8 @@ TrackingViewStep::jobs() const
.replace( "$DISK", disk ); .replace( "$DISK", disk );
cDebug() << " .. install-tracking URL" << installUrl; cDebug() << " .. install-tracking URL" << installUrl;
l.append( Calamares::job_ptr( new TrackingInstallJob( installUrl ) ) );
} }
return l; return l;
} }