From 63919d3040295415306267df7b66e7a5e2c9395f Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Mon, 8 Jun 2015 10:47:57 +0200 Subject: Differentiate between resource name and instance identifier --- synchronizer/listener.cpp | 17 +++++++++-------- synchronizer/listener.h | 1 + 2 files changed, 10 insertions(+), 8 deletions(-) (limited to 'synchronizer') diff --git a/synchronizer/listener.cpp b/synchronizer/listener.cpp index 71723c9..c8b81e8 100644 --- a/synchronizer/listener.cpp +++ b/synchronizer/listener.cpp @@ -35,12 +35,13 @@ #include #include -Listener::Listener(const QByteArray &resourceName, QObject *parent) +Listener::Listener(const QByteArray &resourceInstanceIdentifier, QObject *parent) : QObject(parent), m_server(new QLocalServer(this)), - m_resourceName(resourceName), + m_resourceName(Akonadi2::Store::resourceName(resourceInstanceIdentifier)), + m_resourceInstanceIdentifier(resourceInstanceIdentifier), m_resource(0), - m_pipeline(new Akonadi2::Pipeline(resourceName, parent)), + m_pipeline(new Akonadi2::Pipeline(resourceInstanceIdentifier, parent)), m_clientBufferProcessesTimer(new QTimer(this)), m_messageId(0) { @@ -48,19 +49,19 @@ Listener::Listener(const QByteArray &resourceName, QObject *parent) this, &Listener::refreshRevision); connect(m_server, &QLocalServer::newConnection, this, &Listener::acceptConnection); - Trace() << "Trying to open " << m_resourceName; + Trace() << "Trying to open " << m_resourceInstanceIdentifier; - m_lockfile = new QLockFile(resourceName + ".lock"); + m_lockfile = new QLockFile(m_resourceInstanceIdentifier + ".lock"); m_lockfile->setStaleLockTime(0); if (!m_lockfile->tryLock(0)) { Warning() << "Failed to acquire exclusive lock on socket."; exit(-1); } - if (!m_server->listen(QString::fromLatin1(resourceName))) { + if (!m_server->listen(QString::fromLatin1(m_resourceInstanceIdentifier))) { // FIXME: multiple starts need to be handled here - m_server->removeServer(resourceName); - if (!m_server->listen(QString::fromLatin1(resourceName))) { + m_server->removeServer(m_resourceInstanceIdentifier); + if (!m_server->listen(QString::fromLatin1(m_resourceInstanceIdentifier))) { Warning() << "Utter failure to start server"; exit(-1); } diff --git a/synchronizer/listener.h b/synchronizer/listener.h index b3929e7..2577673 100644 --- a/synchronizer/listener.h +++ b/synchronizer/listener.h @@ -90,6 +90,7 @@ private: QVector m_connections; flatbuffers::FlatBufferBuilder m_fbb; const QByteArray m_resourceName; + const QByteArray m_resourceInstanceIdentifier; Akonadi2::Resource *m_resource; Akonadi2::Pipeline *m_pipeline; QTimer *m_clientBufferProcessesTimer; -- cgit v1.2.3