summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--client/resourceaccess.cpp10
-rw-r--r--client/resourceaccess.h3
-rw-r--r--resource/listener.cpp16
-rw-r--r--resource/listener.h5
4 files changed, 20 insertions, 14 deletions
diff --git a/client/resourceaccess.cpp b/client/resourceaccess.cpp
index 641c203..6f1e114 100644
--- a/client/resourceaccess.cpp
+++ b/client/resourceaccess.cpp
@@ -72,11 +72,11 @@ void ResourceAccess::connected()
72 log(QString("Connected: ").arg(m_socket->fullServerName())); 72 log(QString("Connected: ").arg(m_socket->fullServerName()));
73 73
74 { 74 {
75 flatbuffers::FlatBufferBuilder fbb; 75 auto name = m_fbb.CreateString(QString::number((long long)this).toLatin1());
76 auto name = fbb.CreateString(QString::number((long long)this).toLatin1()); 76 auto command = Akonadi::CreateHandshake(m_fbb, name);
77 auto command = Akonadi::CreateHandshake(fbb, name); 77 Akonadi::FinishHandshakeBuffer(m_fbb, command);
78 Akonadi::FinishHandshakeBuffer(fbb, command); 78 Commands::write(m_socket, Commands::HandshakeCommand, m_fbb);
79 Commands::write(m_socket, Commands::HandshakeCommand, fbb); 79 m_fbb.Clear();
80 } 80 }
81 81
82 emit ready(true); 82 emit ready(true);
diff --git a/client/resourceaccess.h b/client/resourceaccess.h
index 64b8a96..a77fe48 100644
--- a/client/resourceaccess.h
+++ b/client/resourceaccess.h
@@ -4,6 +4,8 @@
4#include <QObject> 4#include <QObject>
5#include <QTimer> 5#include <QTimer>
6 6
7#include <flatbuffers/flatbuffers.h>
8
7class ResourceAccess : public QObject 9class ResourceAccess : public QObject
8{ 10{
9 Q_OBJECT 11 Q_OBJECT
@@ -37,4 +39,5 @@ private:
37 QTimer *m_tryOpenTimer; 39 QTimer *m_tryOpenTimer;
38 bool m_startingProcess; 40 bool m_startingProcess;
39 QByteArray m_partialMessageBuffer; 41 QByteArray m_partialMessageBuffer;
42 flatbuffers::FlatBufferBuilder m_fbb;
40}; 43};
diff --git a/resource/listener.cpp b/resource/listener.cpp
index 4b3e4ff..23a5a70 100644
--- a/resource/listener.cpp
+++ b/resource/listener.cpp
@@ -170,23 +170,23 @@ void Listener::sendCurrentRevision(Client &client)
170 return; 170 return;
171 } 171 }
172 172
173 flatbuffers::FlatBufferBuilder fbb; 173 auto command = Akonadi::CreateRevisionUpdate(m_fbb, m_revision);
174 auto command = Akonadi::CreateRevisionUpdate(fbb, m_revision); 174 Akonadi::FinishRevisionUpdateBuffer(m_fbb, command);
175 Akonadi::FinishRevisionUpdateBuffer(fbb, command); 175 Commands::write(client.socket, Commands::RevisionUpdateCommand, m_fbb);
176 Commands::write(client.socket, Commands::RevisionUpdateCommand, fbb); 176 m_fbb.Clear();
177} 177}
178 178
179void Listener::updateClientsWithRevision() 179void Listener::updateClientsWithRevision()
180{ 180{
181 flatbuffers::FlatBufferBuilder fbb; 181 auto command = Akonadi::CreateRevisionUpdate(m_fbb, m_revision);
182 auto command = Akonadi::CreateRevisionUpdate(fbb, m_revision); 182 Akonadi::FinishRevisionUpdateBuffer(m_fbb, command);
183 Akonadi::FinishRevisionUpdateBuffer(fbb, command);
184 183
185 for (const Client &client: m_connections) { 184 for (const Client &client: m_connections) {
186 if (!client.socket || !client.socket->isValid()) { 185 if (!client.socket || !client.socket->isValid()) {
187 continue; 186 continue;
188 } 187 }
189 188
190 Commands::write(client.socket, Commands::RevisionUpdateCommand, fbb); 189 Commands::write(client.socket, Commands::RevisionUpdateCommand, m_fbb);
191 } 190 }
191 m_fbb.Clear();
192} 192}
diff --git a/resource/listener.h b/resource/listener.h
index 0d8f388..dcc3818 100644
--- a/resource/listener.h
+++ b/resource/listener.h
@@ -5,6 +5,8 @@
5#include <QList> 5#include <QList>
6#include <QObject> 6#include <QObject>
7 7
8#include <flatbuffers/flatbuffers.h>
9
8class Client 10class Client
9{ 11{
10public: 12public:
@@ -57,4 +59,5 @@ private:
57 QLocalServer *m_server; 59 QLocalServer *m_server;
58 QVector<Client> m_connections; 60 QVector<Client> m_connections;
59 unsigned long long m_revision; 61 unsigned long long m_revision;
60}; \ No newline at end of file 62 flatbuffers::FlatBufferBuilder m_fbb;
63};