1 #ifndef SOCKETEXTERNALCOM_H
2 #define SOCKETEXTERNALCOM_H
3 
4 #include "externalcom.h"
5 
6 #include <QLocalServer>
7 #include <QSharedMemory>
8 
9 class SocketExternalInstance : public ExternalInstance
10 {
11 public:
12     SocketExternalInstance();
13 
14     void loadFile( const QString& file_name ) const override;
15     uint32_t getVersion() const override;
16 private:
17     QSharedMemory* memory_;
18 };
19 
20 class SocketExternalCommunicator : public ExternalCommunicator
21 {
22     Q_OBJECT
23 public:
24     SocketExternalCommunicator();
25     ~SocketExternalCommunicator();
26 
27     ExternalInstance* otherInstance() const override;
28     void startListening() override;
29 
30 public slots:
31     qint32 version() const override;
32 
33 private slots:
34     void onConnection();
35 
36 private:
37      QSharedMemory* memory_;
38      QLocalServer* server_;
39 };
40 
41 #endif // SOCKETEXTERNALCOM_H
42