Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Further simplify creation of device lock daemons.
.prf file for setting up project dependences, make the
fingerprint types instatiable as no-operative implementations,
package systemd socket file common to all implementations.
  • Loading branch information
adenexter committed Sep 22, 2016
1 parent 7ce5ba8 commit e4d0ee9
Show file tree
Hide file tree
Showing 28 changed files with 325 additions and 278 deletions.
1 change: 1 addition & 0 deletions nemo-qml-plugin-devicelock.pro
Expand Up @@ -7,3 +7,4 @@ OTHER_FILES += \
rpm/nemo-qml-plugin-devicelock.spec

include (dbus/dbus.pri)
include (systemd/systemd.pri)
12 changes: 8 additions & 4 deletions rpm/nemo-qml-plugin-devicelock.spec
Expand Up @@ -23,7 +23,7 @@ Requires: nemo-devicelock-daemon
Summary: The default command line lock code device lock daemon for Nemo Mobile
Group: System/GUI/Other
Requires: %{name} = %{version}-%{release}
Provides: nemo-devicelock-daemon
Provides: nemo-devicelock-daemon = %{version}-%{release}

%description -n nemo-devicelock-daemon-cli
%{summary}.
Expand All @@ -40,6 +40,9 @@ Requires: %{name} = %{version}-%{release}
Summary: Development libraries for device lock daemons
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
Requires: pkgconfig(keepalive)
Requires: pkgconfig(mce)
Requires: pkgconfig(libsystemd-daemon)

%description host-devel
%{summary}.
Expand Down Expand Up @@ -68,14 +71,14 @@ ln -sf ../nemo-devicelock.socket %{buildroot}/lib/systemd/system/multi-user.targ
%dir %{_libdir}/qt5/qml/org/nemomobile/devicelock
%{_libdir}/qt5/qml/org/nemomobile/devicelock/libnemodevicelockplugin.so
%{_libdir}/qt5/qml/org/nemomobile/devicelock/qmldir
/lib/systemd/system/nemo-devicelock.socket
/lib/systemd/system/multi-user.target.wants/nemo-devicelock.socket
%config %{_sysconfdir}/dbus-1/system.d/org.nemomobile.devicelock.conf

%files -n nemo-devicelock-daemon-cli
%defattr(-,root,root,-)
%{_libexecdir}/nemo-devicelock
/lib/systemd/system/nemo-devicelock.service
/lib/systemd/system/nemo-devicelock.socket
/lib/systemd/system/multi-user.target.wants/nemo-devicelock.socket
%config %{_sysconfdir}/dbus-1/system.d/org.nemomobile.devicelock.conf

%files devel
%defattr(-,root,root,-)
Expand All @@ -91,3 +94,4 @@ ln -sf ../nemo-devicelock.socket %{buildroot}/lib/systemd/system/multi-user.targ
%dir %{_includedir}/nemo-devicelock/host
%{_includedir}/nemo-devicelock/host/*.h
%{_libdir}/libnemodevicelock-host.a
%{_datadir}/qt5/mkspecs/features/nemo-devicelock-host.prf
8 changes: 1 addition & 7 deletions src/daemon/daemon.pro
Expand Up @@ -35,15 +35,9 @@ SOURCES = \
target.path = /usr/libexec

systemd.files = \
systemd/nemo-devicelock.service \
systemd/nemo-devicelock.socket
systemd/nemo-devicelock.service
systemd.path= /lib/systemd/system

policy.files = \
systemd/org.nemomobile.devicelock.conf
policy.path = /etc/dbus-1/system.d

INSTALLS += \
policy \
systemd \
target
7 changes: 4 additions & 3 deletions src/daemon/main.cpp
Expand Up @@ -35,8 +35,9 @@
#include <clidevicelocksettings.h>
#include <clidevicereset.h>
#include <cliencryptionsettings.h>
#include <clifingerprintsettings.h>
#include <clilockcodesettings.h>
#include <hostfingerprintsensor.h>
#include <hostfingerprintsettings.h>
#include <hostservice.h>

#include <QCoreApplication>
Expand All @@ -50,8 +51,8 @@ int main(int argc, char *argv[])
NemoDeviceLock::CliDeviceLockSettings deviceLockSettings;
NemoDeviceLock::CliDeviceReset deviceReset;
NemoDeviceLock::CliEncryptionSettings encryptionSettings;
NemoDeviceLock::CliFingerprintSensor fingerprintSensor;
NemoDeviceLock::CliFingerprintSettings fingerprintSettings;
NemoDeviceLock::HostFingerprintSensor fingerprintSensor;
NemoDeviceLock::HostFingerprintSettings fingerprintSettings;
NemoDeviceLock::CliLockCodeSettings lockCodeSettings;

NemoDeviceLock::HostService service(
Expand Down
3 changes: 0 additions & 3 deletions src/daemon/systemd/nemo-devicelock.service
Expand Up @@ -8,6 +8,3 @@ Type=notify
ExecStart=/usr/libexec/nemo-devicelock
Restart=always
RestartSec=1

[Install]
WantedBy=multi-user.target
Expand Up @@ -30,7 +30,7 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
*/

#include "fingerprintsettings.h"
#include "fingerprintsensor.h"

#include <QDebug>

Expand Down Expand Up @@ -186,33 +186,33 @@ void FingerprintModel::connected()
});
}

FingerprintSettingsAdaptor::FingerprintSettingsAdaptor(FingerprintSettings *settings)
FingerprintSensorAdaptor::FingerprintSensorAdaptor(FingerprintSensor *settings)
: QDBusAbstractAdaptor(settings)
, m_settings(settings)
{
}

void FingerprintSettingsAdaptor::SampleAcquired(uint samplesRemaining)
void FingerprintSensorAdaptor::SampleAcquired(uint samplesRemaining)
{
m_settings->handleSampleAcquired(samplesRemaining);
}

void FingerprintSettingsAdaptor::AcquisitionCompleted()
void FingerprintSensorAdaptor::AcquisitionCompleted()
{
m_settings->handleAcquisitionCompleted();
}

void FingerprintSettingsAdaptor::AcquisitionFeedback(uint feedback)
void FingerprintSensorAdaptor::AcquisitionFeedback(uint feedback)
{
m_settings->acquisitionFeedback(FingerprintSettings::Feedback(feedback));
m_settings->acquisitionFeedback(FingerprintSensor::Feedback(feedback));
}

void FingerprintSettingsAdaptor::AcquisitionError(uint error)
void FingerprintSensorAdaptor::AcquisitionError(uint error)
{
m_settings->handleError(FingerprintSettings::Error(error));
m_settings->handleError(FingerprintSensor::Error(error));
}

FingerprintSettings::FingerprintSettings(QObject *parent)
FingerprintSensor::FingerprintSensor(QObject *parent)
: QObject(parent)
, ConnectionClient(
this,
Expand All @@ -226,44 +226,44 @@ FingerprintSettings::FingerprintSettings(QObject *parent)
, m_hasSensor(false)
, m_isAcquiring(false)
{
connect(m_connection.data(), &Connection::connected, this, &FingerprintSettings::connected);
connect(m_connection.data(), &Connection::disconnected, this, &FingerprintSettings::disconnected);
connect(m_connection.data(), &Connection::connected, this, &FingerprintSensor::connected);
connect(m_connection.data(), &Connection::disconnected, this, &FingerprintSensor::disconnected);

if (m_connection->isConnected()) {
connected();
}
}

FingerprintSettings::~FingerprintSettings()
FingerprintSensor::~FingerprintSensor()
{
}

bool FingerprintSettings::hasSensor() const
bool FingerprintSensor::hasSensor() const
{
return m_hasSensor;
}

bool FingerprintSettings::isAcquiring() const
bool FingerprintSensor::isAcquiring() const
{
return m_isAcquiring;
}

Authorization *FingerprintSettings::authorization()
Authorization *FingerprintSensor::authorization()
{
return &m_authorization;
}

int FingerprintSettings::samplesRemaining() const
int FingerprintSensor::samplesRemaining() const
{
return m_samplesRemaining;
}

int FingerprintSettings::samplesRequired() const
int FingerprintSensor::samplesRequired() const
{
return m_samplesRequired;
}

void FingerprintSettings::acquireFinger(const QVariant &authenticationToken)
void FingerprintSensor::acquireFinger(const QVariant &authenticationToken)
{
if (m_authorization.status() == Authorization::ChallengeIssued) {
m_isAcquiring = true;
Expand All @@ -289,7 +289,7 @@ void FingerprintSettings::acquireFinger(const QVariant &authenticationToken)
}
}

void FingerprintSettings::cancelAcquisition()
void FingerprintSensor::cancelAcquisition()
{
if (m_isAcquiring) {
m_isAcquiring = false;
Expand All @@ -300,19 +300,19 @@ void FingerprintSettings::cancelAcquisition()
}
}

FingerprintModel *FingerprintSettings::fingers()
FingerprintModel *FingerprintSensor::fingers()
{
return &m_fingerprintModel;
}

void FingerprintSettings::handleSampleAcquired(int samplesRemaining)
void FingerprintSensor::handleSampleAcquired(int samplesRemaining)
{
m_samplesRemaining = samplesRemaining;

emit samplesRemainingChanged();
}

void FingerprintSettings::handleAcquisitionCompleted()
void FingerprintSensor::handleAcquisitionCompleted()
{
m_samplesRemaining = 0;
m_samplesRequired = 0;
Expand All @@ -325,7 +325,7 @@ void FingerprintSettings::handleAcquisitionCompleted()
emit samplesRemainingChanged();
}

void FingerprintSettings::handleError(Error error)
void FingerprintSensor::handleError(Error error)
{
m_samplesRemaining = 0;
m_samplesRequired = 0;
Expand All @@ -338,7 +338,7 @@ void FingerprintSettings::handleError(Error error)
emit samplesRemainingChanged();
}

void FingerprintSettings::connected()
void FingerprintSensor::connected()
{
registerObject();
subscribeToProperty<bool>(QStringLiteral("HasSensor"), [this](bool hasSensor) {
Expand All @@ -349,7 +349,7 @@ void FingerprintSettings::connected()
});
}

void FingerprintSettings::disconnected()
void FingerprintSensor::disconnected()
{
m_samplesRemaining = 0;
m_samplesRequired = 0;
Expand Down
Expand Up @@ -30,8 +30,8 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
*/

#ifndef NEMODEVICELOCK_FINGERPRINTSETTINGS_H
#define NEMODEVICELOCK_FINGERPRINTSETTINGS_H
#ifndef NEMODEVICELOCK_FINGERPRINTSENSOR_H
#define NEMODEVICELOCK_FINGERPRINTSENSOR_H

#include <nemo-devicelock/private/clientauthorization.h>

Expand Down Expand Up @@ -89,13 +89,13 @@ class NEMODEVICELOCK_EXPORT FingerprintModel : public QAbstractListModel, privat
QVector<Fingerprint> m_fingerprints;
};

class FingerprintSettings;
class FingerprintSettingsAdaptor : public QDBusAbstractAdaptor
class FingerprintSensor;
class FingerprintSensorAdaptor : public QDBusAbstractAdaptor
{
Q_OBJECT
Q_CLASSINFO("D-Bus Interface", "org.nemomobile.devicelock.client.Fingerprint.Sensor")
public:
explicit FingerprintSettingsAdaptor(FingerprintSettings *settings);
explicit FingerprintSensorAdaptor(FingerprintSensor *settings);

public slots:
Q_NOREPLY void SampleAcquired(uint samplesRemaining);
Expand All @@ -104,10 +104,10 @@ public slots:
Q_NOREPLY void AcquisitionError(uint error);

private:
FingerprintSettings *m_settings;
FingerprintSensor *m_settings;
};

class NEMODEVICELOCK_EXPORT FingerprintSettings : public QObject, private ConnectionClient
class NEMODEVICELOCK_EXPORT FingerprintSensor : public QObject, private ConnectionClient
{
Q_OBJECT
Q_PROPERTY(int samplesRemaining READ samplesRemaining NOTIFY samplesRemainingChanged)
Expand Down Expand Up @@ -135,8 +135,8 @@ class NEMODEVICELOCK_EXPORT FingerprintSettings : public QObject, private Connec
Canceled
};

explicit FingerprintSettings(QObject *parent = nullptr);
~FingerprintSettings();
explicit FingerprintSensor(QObject *parent = nullptr);
~FingerprintSensor();

bool hasSensor() const;
bool isAcquiring() const;
Expand All @@ -162,7 +162,7 @@ class NEMODEVICELOCK_EXPORT FingerprintSettings : public QObject, private Connec
void acquiringChanged();

private:
friend class FingerprintSettingsAdaptor;
friend class FingerprintSensorAdaptor;

inline void connected();
inline void disconnected();
Expand All @@ -173,7 +173,7 @@ class NEMODEVICELOCK_EXPORT FingerprintSettings : public QObject, private Connec

ClientAuthorization m_authorization;
ClientAuthorizationAdaptor m_authorizationAdaptor;
FingerprintSettingsAdaptor m_settingsAdaptor;
FingerprintSensorAdaptor m_settingsAdaptor;
FingerprintModel m_fingerprintModel;
int m_samplesRemaining;
int m_samplesRequired;
Expand Down
2 changes: 0 additions & 2 deletions src/nemo-devicelock/host/cli/cli.pri
Expand Up @@ -7,7 +7,6 @@ PUBLIC_HEADERS += \
$$PWD/clidevicelocksettings.h \
$$PWD/clidevicereset.h \
$$PWD/cliencryptionsettings.h \
$$PWD/clifingerprintsettings.h \
$$PWD/clilockcodesettings.h

HEADERS += \
Expand All @@ -19,6 +18,5 @@ SOURCES += \
$$PWD/clidevicelocksettings.cpp \
$$PWD/clidevicereset.cpp \
$$PWD/cliencryptionsettings.cpp \
$$PWD/clifingerprintsettings.cpp \
$$PWD/clilockcodesettings.cpp \
$$PWD/lockcodewatcher.cpp
2 changes: 1 addition & 1 deletion src/nemo-devicelock/host/cli/cliencryptionsettings.h
Expand Up @@ -48,7 +48,7 @@ class CliEncryptionSettings : public HostEncryptionSettings
explicit CliEncryptionSettings(QObject *parent = nullptr);
~CliEncryptionSettings();

void encryptHome(const QString &requestor, const QVariant &authenticationToken);
void encryptHome(const QString &requestor, const QVariant &authenticationToken) override;

private:
QExplicitlySharedDataPointer<LockCodeWatcher> m_watcher;
Expand Down

0 comments on commit e4d0ee9

Please sign in to comment.