aboutsummaryrefslogtreecommitdiff
path: root/src/server/database/Database
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/database/Database')
-rw-r--r--src/server/database/Database/DatabaseEnvFwd.h7
-rw-r--r--src/server/database/Database/QueryCallback.h2
-rw-r--r--src/server/database/Database/QueryHolder.h2
-rw-r--r--src/server/database/Database/Transaction.h2
4 files changed, 10 insertions, 3 deletions
diff --git a/src/server/database/Database/DatabaseEnvFwd.h b/src/server/database/Database/DatabaseEnvFwd.h
index c92c8092775..6167e936f76 100644
--- a/src/server/database/Database/DatabaseEnvFwd.h
+++ b/src/server/database/Database/DatabaseEnvFwd.h
@@ -18,6 +18,7 @@
#ifndef DatabaseEnvFwd_h__
#define DatabaseEnvFwd_h__
+#include "AsyncCallbackProcessorFwd.h"
#include <future>
#include <memory>
@@ -48,9 +49,7 @@ using PreparedQueryResultFuture = std::future<PreparedQueryResult>;
using PreparedQueryResultPromise = std::promise<PreparedQueryResult>;
class QueryCallback;
-
-template<typename T>
-class AsyncCallbackProcessor;
+bool InvokeAsyncCallbackIfReady(QueryCallback& callback);
using QueryCallbackProcessor = AsyncCallbackProcessor<QueryCallback>;
@@ -63,6 +62,7 @@ template<typename T>
class Transaction;
class TransactionCallback;
+bool InvokeAsyncCallbackIfReady(TransactionCallback& callback);
template<typename T>
using SQLTransaction = std::shared_ptr<Transaction<T>>;
@@ -83,6 +83,7 @@ using LoginDatabaseQueryHolder = SQLQueryHolder<LoginDatabaseConnection>;
using WorldDatabaseQueryHolder = SQLQueryHolder<WorldDatabaseConnection>;
class SQLQueryHolderCallback;
+bool InvokeAsyncCallbackIfReady(SQLQueryHolderCallback& callback);
// mysql
struct MySQLHandle;
diff --git a/src/server/database/Database/QueryCallback.h b/src/server/database/Database/QueryCallback.h
index 6cc315964b7..bfdb674e072 100644
--- a/src/server/database/Database/QueryCallback.h
+++ b/src/server/database/Database/QueryCallback.h
@@ -66,4 +66,6 @@ private:
std::queue<QueryCallbackData, std::list<QueryCallbackData>> _callbacks;
};
+inline bool InvokeAsyncCallbackIfReady(QueryCallback& callback) { return callback.InvokeIfReady(); }
+
#endif // _QUERY_CALLBACK_H
diff --git a/src/server/database/Database/QueryHolder.h b/src/server/database/Database/QueryHolder.h
index 25687fedd81..3a461011c72 100644
--- a/src/server/database/Database/QueryHolder.h
+++ b/src/server/database/Database/QueryHolder.h
@@ -85,4 +85,6 @@ public:
std::function<void(SQLQueryHolderBase const&)> m_callback;
};
+inline bool InvokeAsyncCallbackIfReady(SQLQueryHolderCallback& callback) { return callback.InvokeIfReady(); }
+
#endif
diff --git a/src/server/database/Database/Transaction.h b/src/server/database/Database/Transaction.h
index 2d1ba4da14f..7d7ae17dfca 100644
--- a/src/server/database/Database/Transaction.h
+++ b/src/server/database/Database/Transaction.h
@@ -120,4 +120,6 @@ public:
std::function<void(bool)> m_callback;
};
+inline bool InvokeAsyncCallbackIfReady(TransactionCallback& callback) { return callback.InvokeIfReady(); }
+
#endif