feat(Core/Misc): remove ACE Auto_Ptr (#3454)

This commit is contained in:
Kargatum
2020-11-23 08:10:33 +07:00
committed by GitHub
parent 2e3c98df94
commit 37ba988409
7 changed files with 13 additions and 57 deletions
-42
View File
@@ -1,42 +0,0 @@
/*
* Copyright (C) 2016+ AzerothCore <www.azerothcore.org>
* Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
* Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
*/
#ifndef _ACORE_AUTO_PTR_H
#define _ACORE_AUTO_PTR_H
#include <ace/Bound_Ptr.h>
namespace acore
{
template <class Pointer, class Lock>
class AutoPtr : public ACE_Strong_Bound_Ptr<Pointer, Lock>
{
typedef ACE_Strong_Bound_Ptr<Pointer, Lock> Base;
public:
AutoPtr()
: Base()
{ }
AutoPtr(Pointer* x)
: Base(x)
{ }
operator bool() const
{
return !Base::null();
}
bool operator !() const
{
return Base::null();
}
};
} // namespace acore
#endif
+2 -2
View File
@@ -262,7 +262,7 @@ void DatabaseWorkerPool<T>::DirectCommitTransaction(SQLTransaction& transaction)
template <class T> template <class T>
void DatabaseWorkerPool<T>::ExecuteOrAppend(SQLTransaction& trans, PreparedStatement* stmt) void DatabaseWorkerPool<T>::ExecuteOrAppend(SQLTransaction& trans, PreparedStatement* stmt)
{ {
if (trans.null()) if (!trans)
Execute(stmt); Execute(stmt);
else else
trans->Append(stmt); trans->Append(stmt);
@@ -271,7 +271,7 @@ void DatabaseWorkerPool<T>::ExecuteOrAppend(SQLTransaction& trans, PreparedState
template <class T> template <class T>
void DatabaseWorkerPool<T>::ExecuteOrAppend(SQLTransaction& trans, const char* sql) void DatabaseWorkerPool<T>::ExecuteOrAppend(SQLTransaction& trans, const char* sql)
{ {
if (trans.null()) if (!trans)
Execute(sql); Execute(sql);
else else
trans->Append(sql); trans->Append(sql);
+2 -3
View File
@@ -7,7 +7,6 @@
#ifndef QUERYRESULT_H #ifndef QUERYRESULT_H
#define QUERYRESULT_H #define QUERYRESULT_H
#include "AutoPtr.h"
#include <ace/Thread_Mutex.h> #include <ace/Thread_Mutex.h>
#include "Errors.h" #include "Errors.h"
@@ -52,7 +51,7 @@ private:
MYSQL_FIELD* _fields; MYSQL_FIELD* _fields;
}; };
typedef acore::AutoPtr<ResultSet, ACE_Thread_Mutex> QueryResult; typedef std::shared_ptr<ResultSet> QueryResult;
class PreparedResultSet class PreparedResultSet
{ {
@@ -97,7 +96,7 @@ private:
}; };
typedef acore::AutoPtr<PreparedResultSet, ACE_Thread_Mutex> PreparedQueryResult; typedef std::shared_ptr<PreparedResultSet> PreparedQueryResult;
#endif #endif
+2 -2
View File
@@ -37,9 +37,9 @@ protected:
private: private:
bool _cleanedUp; bool _cleanedUp;
}; };
typedef acore::AutoPtr<Transaction, ACE_Thread_Mutex> SQLTransaction;
typedef std::shared_ptr<Transaction> SQLTransaction;
/*! Low level class*/ /*! Low level class*/
class TransactionTask : public SQLOperation class TransactionTask : public SQLOperation
+2 -3
View File
@@ -300,7 +300,7 @@ void Item::UpdateDuration(Player* owner, uint32 diff)
void Item::SaveToDB(SQLTransaction& trans) void Item::SaveToDB(SQLTransaction& trans)
{ {
bool isInTransaction = !(trans.null()); bool isInTransaction = static_cast<bool>(trans);
if (!isInTransaction) if (!isInTransaction)
trans = CharacterDatabase.BeginTransaction(); trans = CharacterDatabase.BeginTransaction();
@@ -1135,12 +1135,11 @@ void Item::SaveRefundDataToDB()
void Item::DeleteRefundDataFromDB(SQLTransaction* trans) void Item::DeleteRefundDataFromDB(SQLTransaction* trans)
{ {
if (trans && !trans->null()) if (trans)
{ {
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_ITEM_REFUND_INSTANCE); PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_ITEM_REFUND_INSTANCE);
stmt->setUInt32(0, GetGUIDLow()); stmt->setUInt32(0, GetGUIDLow());
(*trans)->Append(stmt); (*trans)->Append(stmt);
} }
} }
+3 -3
View File
@@ -7514,7 +7514,7 @@ void Player::ModifyHonorPoints(int32 value, SQLTransaction* trans /*=NULL*/)
newValue = 0; newValue = 0;
SetHonorPoints(uint32(newValue)); SetHonorPoints(uint32(newValue));
if (trans && !trans->null()) if (trans)
{ {
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UDP_CHAR_HONOR_POINTS); PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UDP_CHAR_HONOR_POINTS);
stmt->setUInt32(0, newValue); stmt->setUInt32(0, newValue);
@@ -7530,7 +7530,7 @@ void Player::ModifyArenaPoints(int32 value, SQLTransaction* trans /*=NULL*/)
newValue = 0; newValue = 0;
SetArenaPoints(uint32(newValue)); SetArenaPoints(uint32(newValue));
if (trans && !trans->null()) if (trans)
{ {
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UDP_CHAR_ARENA_POINTS); PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UDP_CHAR_ARENA_POINTS);
stmt->setUInt32(0, newValue); stmt->setUInt32(0, newValue);
@@ -20125,7 +20125,7 @@ void Player::_SaveMail(SQLTransaction& trans)
void Player::_SaveQuestStatus(SQLTransaction& trans) void Player::_SaveQuestStatus(SQLTransaction& trans)
{ {
bool isTransaction = !trans.null(); bool isTransaction = static_cast<bool>(trans);
if (!isTransaction) if (!isTransaction)
trans = CharacterDatabase.BeginTransaction(); trans = CharacterDatabase.BeginTransaction();
+2 -2
View File
@@ -12,17 +12,17 @@
#include "Weather.h" #include "Weather.h"
#include "Log.h" #include "Log.h"
#include "ObjectMgr.h" #include "ObjectMgr.h"
#include "AutoPtr.h"
#include "Player.h" #include "Player.h"
#include "WorldPacket.h" #include "WorldPacket.h"
#include "WorldSession.h" #include "WorldSession.h"
#include <memory>
namespace WeatherMgr namespace WeatherMgr
{ {
namespace namespace
{ {
typedef std::unordered_map<uint32, acore::AutoPtr<Weather, ACE_Null_Mutex> > WeatherMap; typedef std::unordered_map<uint32, std::unique_ptr<Weather>> WeatherMap;
typedef std::unordered_map<uint32, WeatherData> WeatherZoneMap; typedef std::unordered_map<uint32, WeatherData> WeatherZoneMap;
WeatherMap m_weathers; WeatherMap m_weathers;