82 lines
2.4 KiB
C++
82 lines
2.4 KiB
C++
/*
|
|
* Copyright (C) 2016+ AzerothCore <www.azerothcore.org>, released under GNU AGPL v3 license: https://github.com/azerothcore/azerothcore-wotlk/blob/master/LICENSE-AGPL3
|
|
* Copyright (C) 2021+ WarheadCore <https://github.com/WarheadCore>
|
|
*/
|
|
|
|
#ifndef DatabaseEnvFwd_h__
|
|
#define DatabaseEnvFwd_h__
|
|
|
|
#include <future>
|
|
#include <memory>
|
|
|
|
struct QueryResultFieldMetadata;
|
|
class Field;
|
|
|
|
class ResultSet;
|
|
using QueryResult = std::shared_ptr<ResultSet>;
|
|
using QueryResultFuture = std::future<QueryResult>;
|
|
using QueryResultPromise = std::promise<QueryResult>;
|
|
|
|
class CharacterDatabaseConnection;
|
|
class LoginDatabaseConnection;
|
|
class WorldDatabaseConnection;
|
|
|
|
class PreparedStatementBase;
|
|
|
|
template<typename T>
|
|
class PreparedStatement;
|
|
|
|
using CharacterDatabasePreparedStatement = PreparedStatement<CharacterDatabaseConnection>;
|
|
using LoginDatabasePreparedStatement = PreparedStatement<LoginDatabaseConnection>;
|
|
using WorldDatabasePreparedStatement = PreparedStatement<WorldDatabaseConnection>;
|
|
|
|
class PreparedResultSet;
|
|
using PreparedQueryResult = std::shared_ptr<PreparedResultSet>;
|
|
using PreparedQueryResultFuture = std::future<PreparedQueryResult>;
|
|
using PreparedQueryResultPromise = std::promise<PreparedQueryResult>;
|
|
|
|
class QueryCallback;
|
|
|
|
template<typename T>
|
|
class AsyncCallbackProcessor;
|
|
|
|
using QueryCallbackProcessor = AsyncCallbackProcessor<QueryCallback>;
|
|
|
|
class TransactionBase;
|
|
|
|
using TransactionFuture = std::future<bool>;
|
|
using TransactionPromise = std::promise<bool>;
|
|
|
|
template<typename T>
|
|
class Transaction;
|
|
|
|
class TransactionCallback;
|
|
|
|
template<typename T>
|
|
using SQLTransaction = std::shared_ptr<Transaction<T>>;
|
|
|
|
using CharacterDatabaseTransaction = SQLTransaction<CharacterDatabaseConnection>;
|
|
using LoginDatabaseTransaction = SQLTransaction<LoginDatabaseConnection>;
|
|
using WorldDatabaseTransaction = SQLTransaction<WorldDatabaseConnection>;
|
|
|
|
class SQLQueryHolderBase;
|
|
using QueryResultHolderFuture = std::future<void>;
|
|
using QueryResultHolderPromise = std::promise<void>;
|
|
|
|
template<typename T>
|
|
class SQLQueryHolder;
|
|
|
|
using CharacterDatabaseQueryHolder = SQLQueryHolder<CharacterDatabaseConnection>;
|
|
using LoginDatabaseQueryHolder = SQLQueryHolder<LoginDatabaseConnection>;
|
|
using WorldDatabaseQueryHolder = SQLQueryHolder<WorldDatabaseConnection>;
|
|
|
|
class SQLQueryHolderCallback;
|
|
|
|
// mysql
|
|
struct MySQLHandle;
|
|
struct MySQLResult;
|
|
struct MySQLField;
|
|
struct MySQLBind;
|
|
struct MySQLStmt;
|
|
|
|
#endif // DatabaseEnvFwd_h__
|