1 #ifndef TESTS_PROTOCOL_COMMON_H_
2 #define TESTS_PROTOCOL_COMMON_H_
4 #include <jsonprotocol.h>
5 #include <abstractio.hpp>
6 #include <QLocalSocket>
8 class DomainSocket : public AbstractIo
13 DomainSocket(QLocalSocket* sock): socket(sock) { }
14 // AbstractIo interface
19 socket = std::shared_ptr<QLocalSocket>(new QLocalSocket());
21 socket->connectToServer("/tmp/amb");
23 return socket->errorString().isEmpty();
34 return socket && socket->state() == QLocalSocket::ConnectedState;
39 return socket->readAll().data();
42 void write(const string & data)
44 socket->write(data.c_str(), data.length());
49 return socket->socketDescriptor();
52 std::string errorString()
54 return socket->errorString().toStdString();
57 QLocalSocket *getSocket() { return socket.get(); }
60 std::shared_ptr<QLocalSocket> socket;