From be3f7c93c8cec0ee5db366a54df1c826c55c0834 Mon Sep 17 00:00:00 2001 From: Kai Philipp Date: Wed, 11 Sep 2019 11:15:58 +0200 Subject: [PATCH] missing db class --- src/dbofficial/asyncdbplayerlastgames.cpp | 71 +++++++++++++++++++++++ src/dbofficial/asyncdbplayerlastgames.h | 60 +++++++++++++++++++ src/dbofficial/serverdbthread.cpp | 2 +- 3 files changed, 132 insertions(+), 1 deletion(-) create mode 100644 src/dbofficial/asyncdbplayerlastgames.cpp create mode 100644 src/dbofficial/asyncdbplayerlastgames.h diff --git a/src/dbofficial/asyncdbplayerlastgames.cpp b/src/dbofficial/asyncdbplayerlastgames.cpp new file mode 100644 index 00000000..7786bcb5 --- /dev/null +++ b/src/dbofficial/asyncdbplayerlastgames.cpp @@ -0,0 +1,71 @@ +/***************************************************************************** + * PokerTH - The open source texas holdem engine * + * Copyright (C) 2006-2016 Felix Hammer, Florian Thauer, Lothar May * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU Affero General Public License as * + * published by the Free Software Foundation, either version 3 of the * + * License, or (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU Affero General Public License for more details. * + * * + * You should have received a copy of the GNU Affero General Public License * + * along with this program. If not, see . * + * * + * * + * Additional permission under GNU AGPL version 3 section 7 * + * * + * If you modify this program, or any covered work, by linking or * + * combining it with the OpenSSL project's OpenSSL library (or a * + * modified version of that library), containing parts covered by the * + * terms of the OpenSSL or SSLeay licenses, the authors of PokerTH * + * (Felix Hammer, Florian Thauer, Lothar May) grant you additional * + * permission to convey the resulting work. * + * Corresponding Source for a non-source form of such a combination * + * shall include the source code for the parts of OpenSSL used as well * + * as that of the covered work. * + *****************************************************************************/ + +#include +#include +#include + + +using namespace std; + + +AsyncDBPlayerLastGames::AsyncDBPlayerLastGames(unsigned queryId, unsigned replyId, const string &preparedName, const list ¶ms) + : SingleAsyncDBQuery(queryId, preparedName, params), m_replyId(replyId) +{ +} + +AsyncDBPlayerLastGames::~AsyncDBPlayerLastGames() +{ +} + +void +AsyncDBPlayerLastGames::Init(DBIdManager &/*idManager*/) +{ +} + +void +AsyncDBPlayerLastGames::HandleResult(mysqlpp::Query &/*query*/, DBIdManager &/*idManager*/, mysqlpp::StoreQueryResult &/*result*/, boost::asio::io_service &service, ServerDBCallback &cb) +{ + // This query does not produce a result. + HandleError(service, cb); +} + +void +AsyncDBPlayerLastGames::HandleNoResult(mysqlpp::Query &/*query*/, DBIdManager &/*idManager*/, boost::asio::io_service &service, ServerDBCallback &cb) +{ + //service.post(boost::bind(&ServerDBCallback::BlockPlayerSuccess, &cb, GetId(), m_replyId)); +} + +void +AsyncDBPlayerLastGames::HandleError(boost::asio::io_service &service, ServerDBCallback &cb) +{ + //service.post(boost::bind(&ServerDBCallback::BlockPlayerFailed, &cb, GetId(), m_replyId)); +} diff --git a/src/dbofficial/asyncdbplayerlastgames.h b/src/dbofficial/asyncdbplayerlastgames.h new file mode 100644 index 00000000..3ce836b2 --- /dev/null +++ b/src/dbofficial/asyncdbplayerlastgames.h @@ -0,0 +1,60 @@ +/***************************************************************************** + * PokerTH - The open source texas holdem engine * + * Copyright (C) 2006-2016 Felix Hammer, Florian Thauer, Lothar May * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU Affero General Public License as * + * published by the Free Software Foundation, either version 3 of the * + * License, or (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU Affero General Public License for more details. * + * * + * You should have received a copy of the GNU Affero General Public License * + * along with this program. If not, see . * + * * + * * + * Additional permission under GNU AGPL version 3 section 7 * + * * + * If you modify this program, or any covered work, by linking or * + * combining it with the OpenSSL project's OpenSSL library (or a * + * modified version of that library), containing parts covered by the * + * terms of the OpenSSL or SSLeay licenses, the authors of PokerTH * + * (Felix Hammer, Florian Thauer, Lothar May) grant you additional * + * permission to convey the resulting work. * + * Corresponding Source for a non-source form of such a combination * + * shall include the source code for the parts of OpenSSL used as well * + * as that of the covered work. * + *****************************************************************************/ +/* Async database update to block a player. */ + +#ifndef _ASYNCDBPLAYERLASTGAMES_H_ +#define _ASYNCDBPLAYERLASTGAMES_H_ + +#include + + +class AsyncDBPlayerLastGames : public SingleAsyncDBQuery +{ +public: + AsyncDBPlayerLastGames(unsigned queryId, unsigned replyId, const std::string &preparedName, const std::list ¶ms); + virtual ~AsyncDBPlayerLastGames(); + + virtual void Init(DBIdManager& idManager); + + virtual void HandleResult(mysqlpp::Query &query, DBIdManager& idManager, mysqlpp::StoreQueryResult& result, boost::asio::io_service &service, ServerDBCallback &cb); + virtual void HandleNoResult(mysqlpp::Query &query, DBIdManager& idManager, boost::asio::io_service &service, ServerDBCallback &cb); + virtual void HandleError(boost::asio::io_service &service, ServerDBCallback &cb); + + virtual bool RequiresResultSet() const + { + return false; + } + +private: + unsigned m_replyId; +}; + +#endif diff --git a/src/dbofficial/serverdbthread.cpp b/src/dbofficial/serverdbthread.cpp index cc442285..f41bc81c 100644 --- a/src/dbofficial/serverdbthread.cpp +++ b/src/dbofficial/serverdbthread.cpp @@ -247,7 +247,7 @@ ServerDBThread::SetPlayerLastGames(unsigned requestId, DB_id playerId, std::vect params.push_back(lastGamesFieldValue); params.push_back(lastIp); boost::shared_ptr asyncQuery( - new AsyncDBGamePlace( + new AsyncDBPlayerLastGames( requestId, QUERY_PLAYER_LASTGAMES_PREPARE, params));