mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-04-27 07:48:01 -07:00
* 1/3 Add .clang-format file and travis compilation check * 2/3 Run clang-format * 3/3 Fix compilation problems due to include reordering * 3bis/3 AfterControlStatement: false
46 lines
967 B
C++
46 lines
967 B
C++
#ifndef SERVATRICE_CONNECTION_POOL_H
|
|
#define SERVATRICE_CONNECTION_POOL_H
|
|
|
|
#include <QMutex>
|
|
#include <QMutexLocker>
|
|
#include <QObject>
|
|
|
|
class Servatrice_DatabaseInterface;
|
|
|
|
class Servatrice_ConnectionPool : public QObject
|
|
{
|
|
Q_OBJECT
|
|
private:
|
|
Servatrice_DatabaseInterface *databaseInterface;
|
|
bool threaded;
|
|
mutable QMutex clientCountMutex;
|
|
int clientCount;
|
|
|
|
public:
|
|
Servatrice_ConnectionPool(Servatrice_DatabaseInterface *_databaseInterface);
|
|
~Servatrice_ConnectionPool();
|
|
|
|
Servatrice_DatabaseInterface *getDatabaseInterface() const
|
|
{
|
|
return databaseInterface;
|
|
}
|
|
|
|
int getClientCount() const
|
|
{
|
|
QMutexLocker locker(&clientCountMutex);
|
|
return clientCount;
|
|
}
|
|
void addClient()
|
|
{
|
|
QMutexLocker locker(&clientCountMutex);
|
|
++clientCount;
|
|
}
|
|
public slots:
|
|
void removeClient()
|
|
{
|
|
QMutexLocker locker(&clientCountMutex);
|
|
--clientCount;
|
|
}
|
|
};
|
|
|
|
#endif
|