[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" );
|
||||
}
|
||||
|
||||
InstallTrackingConfig::~InstallTrackingConfig() {}
|
||||
|
||||
void
|
||||
InstallTrackingConfig::setConfigurationMap( const QVariantMap& configurationMap )
|
||||
{
|
||||
@ -127,6 +129,8 @@ MachineTrackingConfig::MachineTrackingConfig( QObject* parent )
|
||||
setObjectName( "MachineTrackingConfig" );
|
||||
}
|
||||
|
||||
MachineTrackingConfig::~MachineTrackingConfig() {}
|
||||
|
||||
/** @brief Is @p s a valid machine-tracking style. */
|
||||
static bool
|
||||
isValidMachineTrackingStyle( const QString& s )
|
||||
@ -151,6 +155,8 @@ UserTrackingConfig::UserTrackingConfig( QObject* parent )
|
||||
setObjectName( "UserTrackingConfig" );
|
||||
}
|
||||
|
||||
UserTrackingConfig::~UserTrackingConfig() {}
|
||||
|
||||
static bool
|
||||
isValidUserTrackingStyle( const QString& s )
|
||||
{
|
||||
|
@ -55,7 +55,7 @@ public:
|
||||
DisabledByUser,
|
||||
EnabledByUser
|
||||
};
|
||||
Q_ENUM( TrackingState );
|
||||
Q_ENUM( TrackingState )
|
||||
|
||||
public Q_SLOTS:
|
||||
TrackingState tracking() const { return m_state; }
|
||||
@ -106,6 +106,7 @@ class InstallTrackingConfig : public TrackingStyleConfig
|
||||
{
|
||||
public:
|
||||
InstallTrackingConfig( QObject* parent );
|
||||
~InstallTrackingConfig() override;
|
||||
void setConfigurationMap( const QVariantMap& configurationMap );
|
||||
|
||||
QString installTrackingUrl() { return m_installTrackingUrl; }
|
||||
@ -125,6 +126,7 @@ class MachineTrackingConfig : public TrackingStyleConfig
|
||||
{
|
||||
public:
|
||||
MachineTrackingConfig( QObject* parent );
|
||||
~MachineTrackingConfig() override;
|
||||
void setConfigurationMap( const QVariantMap& configurationMap );
|
||||
|
||||
QString machineTrackingStyle() { return m_machineTrackingStyle; }
|
||||
@ -146,6 +148,7 @@ class UserTrackingConfig : public TrackingStyleConfig
|
||||
{
|
||||
public:
|
||||
UserTrackingConfig( QObject* parent );
|
||||
~UserTrackingConfig() override;
|
||||
void setConfigurationMap( const QVariantMap& configurationMap );
|
||||
|
||||
QString userTrackingStyle() { return m_userTrackingStyle; }
|
||||
|
@ -78,41 +78,7 @@ TrackingInstallJob::exec()
|
||||
return Calamares::JobResult::ok();
|
||||
}
|
||||
|
||||
void
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TrackingMachineUpdateManagerJob::~TrackingMachineUpdateManagerJob() {}
|
||||
|
||||
QString
|
||||
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 )
|
||||
: m_username( username )
|
||||
, m_areas( areas )
|
||||
{
|
||||
}
|
||||
|
||||
TrackingKUserFeedbackJob::~TrackingKUserFeedbackJob() {}
|
||||
|
||||
QString
|
||||
TrackingKUserFeedbackJob::prettyName() const
|
||||
{
|
||||
@ -246,3 +187,66 @@ FeedbackLevel=16
|
||||
|
||||
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;
|
||||
Calamares::JobResult exec() override;
|
||||
|
||||
static void addJob( Calamares::JobList& list, InstallTrackingConfig* config );
|
||||
|
||||
private:
|
||||
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
|
||||
*
|
||||
* The machine has a machine-id, and this is sed(1)'ed into the
|
||||
* update-manager configuration, to report the machine-id back
|
||||
* to distro servers.
|
||||
*/
|
||||
class TrackingMachineUpdateManagerJob : public TrackingMachineJob
|
||||
class TrackingMachineUpdateManagerJob : public Calamares::Job
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
~TrackingMachineUpdateManagerJob() override;
|
||||
|
||||
QString prettyName() const override;
|
||||
QString prettyDescription() const override;
|
||||
QString prettyStatusMessage() const 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
|
||||
*
|
||||
* This writes suitable files for turning on KUserFeedback for the
|
||||
@ -115,6 +90,7 @@ class TrackingKUserFeedbackJob : public Calamares::Job
|
||||
{
|
||||
public:
|
||||
TrackingKUserFeedbackJob( const QString& username, const QStringList& areas );
|
||||
~TrackingKUserFeedbackJob() override;
|
||||
|
||||
QString prettyName() const override;
|
||||
QString prettyDescription() const override;
|
||||
@ -126,4 +102,8 @@ private:
|
||||
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
|
||||
|
@ -109,9 +109,9 @@ TrackingViewStep::jobs() const
|
||||
cDebug() << "Creating tracking jobs ..";
|
||||
|
||||
Calamares::JobList l;
|
||||
TrackingInstallJob::addJob( l, m_config->installTracking() );
|
||||
TrackingMachineJob::addJob( l, m_config->machineTracking() );
|
||||
TrackingUserJob::addJob( l, m_config->userTracking() );
|
||||
addJob( l, m_config->installTracking() );
|
||||
addJob( l, m_config->machineTracking() );
|
||||
addJob( l, m_config->userTracking() );
|
||||
cDebug() << Logger::SubEntry << l.count() << "jobs queued.";
|
||||
return l;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user