mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-03-11 03:30:33 +00:00
Project restructuring conforming to the new software layers [PART.1]
This commit is contained in:
47
modules/worldengine/nucleus/Database/QueryHolder.h
Normal file
47
modules/worldengine/nucleus/Database/QueryHolder.h
Normal file
@@ -0,0 +1,47 @@
|
||||
/*
|
||||
* Copyright (C)
|
||||
*
|
||||
* Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
|
||||
* Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
|
||||
*/
|
||||
|
||||
#ifndef _QUERYHOLDER_H
|
||||
#define _QUERYHOLDER_H
|
||||
|
||||
#include <ace/Future.h>
|
||||
|
||||
class SQLQueryHolder
|
||||
{
|
||||
friend class SQLQueryHolderTask;
|
||||
private:
|
||||
typedef std::pair<SQLElementData, SQLResultSetUnion> SQLResultPair;
|
||||
std::vector<SQLResultPair> m_queries;
|
||||
public:
|
||||
SQLQueryHolder() { }
|
||||
~SQLQueryHolder();
|
||||
bool SetQuery(size_t index, const char *sql);
|
||||
bool SetPQuery(size_t index, const char *format, ...) ATTR_PRINTF(3, 4);
|
||||
bool SetPreparedQuery(size_t index, PreparedStatement* stmt);
|
||||
void SetSize(size_t size);
|
||||
QueryResult GetResult(size_t index);
|
||||
PreparedQueryResult GetPreparedResult(size_t index);
|
||||
void SetResult(size_t index, ResultSet* result);
|
||||
void SetPreparedResult(size_t index, PreparedResultSet* result);
|
||||
};
|
||||
|
||||
typedef ACE_Future<SQLQueryHolder*> QueryResultHolderFuture;
|
||||
|
||||
class SQLQueryHolderTask : public SQLOperation
|
||||
{
|
||||
private:
|
||||
SQLQueryHolder * m_holder;
|
||||
QueryResultHolderFuture m_result;
|
||||
|
||||
public:
|
||||
SQLQueryHolderTask(SQLQueryHolder *holder, QueryResultHolderFuture res)
|
||||
: m_holder(holder), m_result(res){ };
|
||||
bool Execute();
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user