Added requirements to README and started implementing some of the Client methods.
This commit is contained in:
parent
1a9f124d42
commit
12272de5d7
|
|
@ -2,6 +2,15 @@
|
||||||
|
|
||||||
QRedis provides a modern Qt client library for communicating with a [Redis server](http://redis.io/). The code uses many new constructs introduced in [C++11](https://en.wikipedia.org/wiki/C%2B%2B11) and compiles exclusively with Qt 5, ensuring years of compatibility down the road.
|
QRedis provides a modern Qt client library for communicating with a [Redis server](http://redis.io/). The code uses many new constructs introduced in [C++11](https://en.wikipedia.org/wiki/C%2B%2B11) and compiles exclusively with Qt 5, ensuring years of compatibility down the road.
|
||||||
|
|
||||||
|
### Requirements
|
||||||
|
|
||||||
|
To compile QRedis, the following requirements must be met:
|
||||||
|
|
||||||
|
* GCC 4.6+ or Microsoft Visual C++ 2010+
|
||||||
|
* Qt 5+
|
||||||
|
|
||||||
|
*It is not necessary to have Redis installed in order to build the client library. However, you will be unable to run the test suite.*
|
||||||
|
|
||||||
### Building QRedis
|
### Building QRedis
|
||||||
|
|
||||||
QRedis uses [CMake](http://www.cmake.org/) for building the client library, which simplifies the necessary steps across all supported platforms. Assuming you have Qt 5 installed in a location that CMake can find, the client library can be built with the following steps:
|
QRedis uses [CMake](http://www.cmake.org/) for building the client library, which simplifies the necessary steps across all supported platforms. Assuming you have Qt 5 installed in a location that CMake can find, the client library can be built with the following steps:
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
#ifndef QREDIS_CLIENT_H
|
#ifndef QREDIS_CLIENT_H
|
||||||
#define QREDIS_CLIENT_H
|
#define QREDIS_CLIENT_H
|
||||||
|
|
||||||
|
#include <QHostAddress>
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QScopedPointer>
|
#include <QScopedPointer>
|
||||||
|
|
||||||
|
|
@ -12,7 +13,7 @@ namespace QRedis
|
||||||
class QREDIS_EXPORT ClientPrivate;
|
class QREDIS_EXPORT ClientPrivate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Provides access to a Redis server.
|
* @brief Provides access to a Redis server
|
||||||
*/
|
*/
|
||||||
class QREDIS_EXPORT Client : public QObject
|
class QREDIS_EXPORT Client : public QObject
|
||||||
{
|
{
|
||||||
|
|
@ -21,24 +22,48 @@ namespace QRedis
|
||||||
public:
|
public:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Connects to a Redis server.
|
* @brief Connects to a Redis server
|
||||||
*/
|
*/
|
||||||
Client();
|
Client();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Disconnects from the Redis server.
|
* @brief Disconnects from the Redis server
|
||||||
*/
|
*/
|
||||||
virtual ~Client();
|
virtual ~Client();
|
||||||
|
|
||||||
void connectToHost();
|
/**
|
||||||
|
* @brief Attempts to connect to the specified Redis server
|
||||||
|
* @param address the address of the Redis server
|
||||||
|
* @param port the port that the Redis server is listening on
|
||||||
|
*
|
||||||
|
* If the connection was successful, the connected() signal will be
|
||||||
|
* emitted.
|
||||||
|
*/
|
||||||
|
void connectToHost(const QHostAddress & address, quint16 port = 6379);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Disconnects from the Redis server
|
||||||
|
*/
|
||||||
void disconnectFromHost();
|
void disconnectFromHost();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Sends the specified command to the Redis server.
|
||||||
|
* @return an object that may be used for obtaining the response
|
||||||
|
*/
|
||||||
Command * sendCommand();
|
Command * sendCommand();
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Emitted when the client establishes a connection with the Redis server
|
||||||
|
*/
|
||||||
void connected();
|
void connected();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Emitted when the client disconnects from the Redis server
|
||||||
|
*/
|
||||||
|
void disconnected();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
const QScopedPointer<ClientPrivate> d;
|
const QScopedPointer<ClientPrivate> d;
|
||||||
|
|
|
||||||
|
|
@ -6,16 +6,25 @@ using namespace QRedis;
|
||||||
Client::Client()
|
Client::Client()
|
||||||
: d(new ClientPrivate)
|
: d(new ClientPrivate)
|
||||||
{
|
{
|
||||||
|
connect(d->socket, &QTcpSocket::connected, this, &Client::connected);
|
||||||
|
connect(d->socket, &QTcpSocket::disconnected, this, &Client::disconnected);
|
||||||
}
|
}
|
||||||
|
|
||||||
Client::~Client()
|
Client::~Client()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void Client::connectToHost()
|
void Client::connectToHost(const QHostAddress & address, quint16 port)
|
||||||
{
|
{
|
||||||
|
d->socket.connectToHost(address, port);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Client::disconnectFromHost()
|
void Client::disconnectFromHost()
|
||||||
{
|
{
|
||||||
|
d->socket.disconnectFromHost();
|
||||||
|
}
|
||||||
|
|
||||||
|
Command * Client::sendCommand()
|
||||||
|
{
|
||||||
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue