[tracking] Warnings-reduction
- Give classes a virtual destructor that need them - Remove spurious ; - Refactor addJobs() because that doesn't need to be in a class - Remove redundant intermediate base-classes
This commit is contained in:
parent
0bede0692a
commit
1dfb25372b
@ -112,6 +112,8 @@ InstallTrackingConfig::InstallTrackingConfig( QObject* parent )
|
|||||||
setObjectName( "InstallTrackingConfig" );
|
setObjectName( "InstallTrackingConfig" );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
InstallTrackingConfig::~InstallTrackingConfig() {}
|
||||||
|
|
||||||
void
|
void
|
||||||
InstallTrackingConfig::setConfigurationMap( const QVariantMap& configurationMap )
|
InstallTrackingConfig::setConfigurationMap( const QVariantMap& configurationMap )
|
||||||
{
|
{
|
||||||
@ -127,6 +129,8 @@ MachineTrackingConfig::MachineTrackingConfig( QObject* parent )
|
|||||||
setObjectName( "MachineTrackingConfig" );
|
setObjectName( "MachineTrackingConfig" );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MachineTrackingConfig::~MachineTrackingConfig() {}
|
||||||
|
|
||||||
/** @brief Is @p s a valid machine-tracking style. */
|
/** @brief Is @p s a valid machine-tracking style. */
|
||||||
static bool
|
static bool
|
||||||
isValidMachineTrackingStyle( const QString& s )
|
isValidMachineTrackingStyle( const QString& s )
|
||||||
@ -151,6 +155,8 @@ UserTrackingConfig::UserTrackingConfig( QObject* parent )
|
|||||||
setObjectName( "UserTrackingConfig" );
|
setObjectName( "UserTrackingConfig" );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
UserTrackingConfig::~UserTrackingConfig() {}
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
isValidUserTrackingStyle( const QString& s )
|
isValidUserTrackingStyle( const QString& s )
|
||||||
{
|
{
|
||||||
|
@ -55,7 +55,7 @@ public:
|
|||||||
DisabledByUser,
|
DisabledByUser,
|
||||||
EnabledByUser
|
EnabledByUser
|
||||||
};
|
};
|
||||||
Q_ENUM( TrackingState );
|
Q_ENUM( TrackingState )
|
||||||
|
|
||||||
public Q_SLOTS:
|
public Q_SLOTS:
|
||||||
TrackingState tracking() const { return m_state; }
|
TrackingState tracking() const { return m_state; }
|
||||||
@ -106,6 +106,7 @@ class InstallTrackingConfig : public TrackingStyleConfig
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
InstallTrackingConfig( QObject* parent );
|
InstallTrackingConfig( QObject* parent );
|
||||||
|
~InstallTrackingConfig() override;
|
||||||
void setConfigurationMap( const QVariantMap& configurationMap );
|
void setConfigurationMap( const QVariantMap& configurationMap );
|
||||||
|
|
||||||
QString installTrackingUrl() { return m_installTrackingUrl; }
|
QString installTrackingUrl() { return m_installTrackingUrl; }
|
||||||
@ -125,6 +126,7 @@ class MachineTrackingConfig : public TrackingStyleConfig
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MachineTrackingConfig( QObject* parent );
|
MachineTrackingConfig( QObject* parent );
|
||||||
|
~MachineTrackingConfig() override;
|
||||||
void setConfigurationMap( const QVariantMap& configurationMap );
|
void setConfigurationMap( const QVariantMap& configurationMap );
|
||||||
|
|
||||||
QString machineTrackingStyle() { return m_machineTrackingStyle; }
|
QString machineTrackingStyle() { return m_machineTrackingStyle; }
|
||||||
@ -146,6 +148,7 @@ class UserTrackingConfig : public TrackingStyleConfig
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
UserTrackingConfig( QObject* parent );
|
UserTrackingConfig( QObject* parent );
|
||||||
|
~UserTrackingConfig() override;
|
||||||
void setConfigurationMap( const QVariantMap& configurationMap );
|
void setConfigurationMap( const QVariantMap& configurationMap );
|
||||||
|
|
||||||
QString userTrackingStyle() { return m_userTrackingStyle; }
|
QString userTrackingStyle() { return m_userTrackingStyle; }
|
||||||
|
@ -78,41 +78,7 @@ TrackingInstallJob::exec()
|
|||||||
return Calamares::JobResult::ok();
|
return Calamares::JobResult::ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
TrackingMachineUpdateManagerJob::~TrackingMachineUpdateManagerJob() {}
|
||||||
TrackingInstallJob::addJob( Calamares::JobList& list, InstallTrackingConfig* config )
|
|
||||||
{
|
|
||||||
if ( config->isEnabled() )
|
|
||||||
{
|
|
||||||
const auto* s = CalamaresUtils::System::instance();
|
|
||||||
QHash< QString, QString > map { std::initializer_list< std::pair< QString, QString > > {
|
|
||||||
{ QStringLiteral( "CPU" ), s->getCpuDescription() },
|
|
||||||
{ QStringLiteral( "MEMORY" ), QString::number( s->getTotalMemoryB().first ) },
|
|
||||||
{ QStringLiteral( "DISK" ), QString::number( s->getTotalDiskB() ) } } };
|
|
||||||
QString installUrl = KMacroExpander::expandMacros( config->installTrackingUrl(), map );
|
|
||||||
|
|
||||||
cDebug() << Logger::SubEntry << "install-tracking URL" << installUrl;
|
|
||||||
|
|
||||||
list.append( Calamares::job_ptr( new TrackingInstallJob( installUrl ) ) );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
TrackingMachineJob::addJob( Calamares::JobList& list, MachineTrackingConfig* config )
|
|
||||||
{
|
|
||||||
if ( config->isEnabled() )
|
|
||||||
{
|
|
||||||
const auto style = config->machineTrackingStyle();
|
|
||||||
if ( style == "updatemanager" )
|
|
||||||
{
|
|
||||||
list.append( Calamares::job_ptr( new TrackingMachineUpdateManagerJob() ) );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
cWarning() << "Unsupported machine tracking style" << style;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
QString
|
QString
|
||||||
TrackingMachineUpdateManagerJob::prettyName() const
|
TrackingMachineUpdateManagerJob::prettyName() const
|
||||||
@ -163,39 +129,14 @@ TrackingMachineUpdateManagerJob::exec()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
TrackingUserJob::addJob( Calamares::JobList& list, UserTrackingConfig* config )
|
|
||||||
{
|
|
||||||
if ( config->isEnabled() )
|
|
||||||
{
|
|
||||||
const auto* gs = Calamares::JobQueue::instance()->globalStorage();
|
|
||||||
static const auto key = QStringLiteral( "username" );
|
|
||||||
QString username = ( gs && gs->contains( key ) ) ? gs->value( key ).toString() : QString();
|
|
||||||
|
|
||||||
if ( username.isEmpty() )
|
|
||||||
{
|
|
||||||
cWarning() << "No username is set in GlobalStorage, skipping user-tracking.";
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const auto style = config->userTrackingStyle();
|
|
||||||
if ( style == "kuserfeedback" )
|
|
||||||
{
|
|
||||||
list.append( Calamares::job_ptr( new TrackingKUserFeedbackJob( username, config->userTrackingAreas() ) ) );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
cWarning() << "Unsupported user tracking style" << style;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
TrackingKUserFeedbackJob::TrackingKUserFeedbackJob( const QString& username, const QStringList& areas )
|
TrackingKUserFeedbackJob::TrackingKUserFeedbackJob( const QString& username, const QStringList& areas )
|
||||||
: m_username( username )
|
: m_username( username )
|
||||||
, m_areas( areas )
|
, m_areas( areas )
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TrackingKUserFeedbackJob::~TrackingKUserFeedbackJob() {}
|
||||||
|
|
||||||
QString
|
QString
|
||||||
TrackingKUserFeedbackJob::prettyName() const
|
TrackingKUserFeedbackJob::prettyName() const
|
||||||
{
|
{
|
||||||
@ -246,3 +187,66 @@ FeedbackLevel=16
|
|||||||
|
|
||||||
return Calamares::JobResult::ok();
|
return Calamares::JobResult::ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
addJob( Calamares::JobList& list, InstallTrackingConfig* config )
|
||||||
|
{
|
||||||
|
if ( config->isEnabled() )
|
||||||
|
{
|
||||||
|
const auto* s = CalamaresUtils::System::instance();
|
||||||
|
QHash< QString, QString > map { std::initializer_list< std::pair< QString, QString > > {
|
||||||
|
{ QStringLiteral( "CPU" ), s->getCpuDescription() },
|
||||||
|
{ QStringLiteral( "MEMORY" ), QString::number( s->getTotalMemoryB().first ) },
|
||||||
|
{ QStringLiteral( "DISK" ), QString::number( s->getTotalDiskB() ) } } };
|
||||||
|
QString installUrl = KMacroExpander::expandMacros( config->installTrackingUrl(), map );
|
||||||
|
|
||||||
|
cDebug() << Logger::SubEntry << "install-tracking URL" << installUrl;
|
||||||
|
|
||||||
|
list.append( Calamares::job_ptr( new TrackingInstallJob( installUrl ) ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
addJob( Calamares::JobList& list, MachineTrackingConfig* config )
|
||||||
|
{
|
||||||
|
if ( config->isEnabled() )
|
||||||
|
{
|
||||||
|
const auto style = config->machineTrackingStyle();
|
||||||
|
if ( style == "updatemanager" )
|
||||||
|
{
|
||||||
|
list.append( Calamares::job_ptr( new TrackingMachineUpdateManagerJob() ) );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cWarning() << "Unsupported machine tracking style" << style;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
addJob( Calamares::JobList& list, UserTrackingConfig* config )
|
||||||
|
{
|
||||||
|
if ( config->isEnabled() )
|
||||||
|
{
|
||||||
|
const auto* gs = Calamares::JobQueue::instance()->globalStorage();
|
||||||
|
static const auto key = QStringLiteral( "username" );
|
||||||
|
QString username = ( gs && gs->contains( key ) ) ? gs->value( key ).toString() : QString();
|
||||||
|
|
||||||
|
if ( username.isEmpty() )
|
||||||
|
{
|
||||||
|
cWarning() << "No username is set in GlobalStorage, skipping user-tracking.";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const auto style = config->userTrackingStyle();
|
||||||
|
if ( style == "kuserfeedback" )
|
||||||
|
{
|
||||||
|
list.append( Calamares::job_ptr( new TrackingKUserFeedbackJob( username, config->userTrackingAreas() ) ) );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cWarning() << "Unsupported user tracking style" << style;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -58,53 +58,28 @@ public:
|
|||||||
QString prettyStatusMessage() const override;
|
QString prettyStatusMessage() const override;
|
||||||
Calamares::JobResult exec() override;
|
Calamares::JobResult exec() override;
|
||||||
|
|
||||||
static void addJob( Calamares::JobList& list, InstallTrackingConfig* config );
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const QString m_url;
|
const QString m_url;
|
||||||
};
|
};
|
||||||
|
|
||||||
/** @brief Base class for machine-tracking jobs
|
|
||||||
*
|
|
||||||
* Machine-tracking configuraiton depends on the distro / style of machine
|
|
||||||
* being tracked, so it has subclasses to switch on the relevant kind
|
|
||||||
* of tracking. A machine is tracked persistently.
|
|
||||||
*/
|
|
||||||
class TrackingMachineJob : public Calamares::Job
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
static void addJob( Calamares::JobList& list, MachineTrackingConfig* config );
|
|
||||||
};
|
|
||||||
|
|
||||||
/** @brief Tracking machines, update-manager style
|
/** @brief Tracking machines, update-manager style
|
||||||
*
|
*
|
||||||
* The machine has a machine-id, and this is sed(1)'ed into the
|
* The machine has a machine-id, and this is sed(1)'ed into the
|
||||||
* update-manager configuration, to report the machine-id back
|
* update-manager configuration, to report the machine-id back
|
||||||
* to distro servers.
|
* to distro servers.
|
||||||
*/
|
*/
|
||||||
class TrackingMachineUpdateManagerJob : public TrackingMachineJob
|
class TrackingMachineUpdateManagerJob : public Calamares::Job
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
|
~TrackingMachineUpdateManagerJob() override;
|
||||||
|
|
||||||
QString prettyName() const override;
|
QString prettyName() const override;
|
||||||
QString prettyDescription() const override;
|
QString prettyDescription() const override;
|
||||||
QString prettyStatusMessage() const override;
|
QString prettyStatusMessage() const override;
|
||||||
Calamares::JobResult exec() override;
|
Calamares::JobResult exec() override;
|
||||||
};
|
};
|
||||||
|
|
||||||
/** @brief Base class for user-tracking jobs
|
|
||||||
*
|
|
||||||
* User-tracking configuration depends on the distro / style of user
|
|
||||||
* tracking being implemented, so there are subclasses to switch on the
|
|
||||||
* relevant kind of tracking. Users are tracked persistently (the user
|
|
||||||
* can of course configure the tracking again once the system is restarted).
|
|
||||||
*/
|
|
||||||
class TrackingUserJob : public Calamares::Job
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
static void addJob( Calamares::JobList& list, UserTrackingConfig* config );
|
|
||||||
};
|
|
||||||
|
|
||||||
/** @brief Turn on KUserFeedback in target system
|
/** @brief Turn on KUserFeedback in target system
|
||||||
*
|
*
|
||||||
* This writes suitable files for turning on KUserFeedback for the
|
* This writes suitable files for turning on KUserFeedback for the
|
||||||
@ -115,6 +90,7 @@ class TrackingKUserFeedbackJob : public Calamares::Job
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
TrackingKUserFeedbackJob( const QString& username, const QStringList& areas );
|
TrackingKUserFeedbackJob( const QString& username, const QStringList& areas );
|
||||||
|
~TrackingKUserFeedbackJob() override;
|
||||||
|
|
||||||
QString prettyName() const override;
|
QString prettyName() const override;
|
||||||
QString prettyDescription() const override;
|
QString prettyDescription() const override;
|
||||||
@ -126,4 +102,8 @@ private:
|
|||||||
QStringList m_areas;
|
QStringList m_areas;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
void addJob( Calamares::JobList& list, InstallTrackingConfig* config );
|
||||||
|
void addJob( Calamares::JobList& list, MachineTrackingConfig* config );
|
||||||
|
void addJob( Calamares::JobList& list, UserTrackingConfig* config );
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -109,9 +109,9 @@ TrackingViewStep::jobs() const
|
|||||||
cDebug() << "Creating tracking jobs ..";
|
cDebug() << "Creating tracking jobs ..";
|
||||||
|
|
||||||
Calamares::JobList l;
|
Calamares::JobList l;
|
||||||
TrackingInstallJob::addJob( l, m_config->installTracking() );
|
addJob( l, m_config->installTracking() );
|
||||||
TrackingMachineJob::addJob( l, m_config->machineTracking() );
|
addJob( l, m_config->machineTracking() );
|
||||||
TrackingUserJob::addJob( l, m_config->userTracking() );
|
addJob( l, m_config->userTracking() );
|
||||||
cDebug() << Logger::SubEntry << l.count() << "jobs queued.";
|
cDebug() << Logger::SubEntry << l.count() << "jobs queued.";
|
||||||
return l;
|
return l;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user