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

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

View File

@@ -262,7 +262,7 @@ void DatabaseWorkerPool<T>::DirectCommitTransaction(SQLTransaction& transaction)
template <class T>
void DatabaseWorkerPool<T>::ExecuteOrAppend(SQLTransaction& trans, PreparedStatement* stmt)
{
if (trans.null())
if (!trans)
Execute(stmt);
else
trans->Append(stmt);
@@ -271,7 +271,7 @@ void DatabaseWorkerPool<T>::ExecuteOrAppend(SQLTransaction& trans, PreparedState
template <class T>
void DatabaseWorkerPool<T>::ExecuteOrAppend(SQLTransaction& trans, const char* sql)
{
if (trans.null())
if (!trans)
Execute(sql);
else
trans->Append(sql);

View File

@@ -7,7 +7,6 @@
#ifndef QUERYRESULT_H
#define QUERYRESULT_H
#include "AutoPtr.h"
#include <ace/Thread_Mutex.h>
#include "Errors.h"
@@ -52,7 +51,7 @@ private:
MYSQL_FIELD* _fields;
};
typedef acore::AutoPtr<ResultSet, ACE_Thread_Mutex> QueryResult;
typedef std::shared_ptr<ResultSet> QueryResult;
class PreparedResultSet
{
@@ -97,7 +96,7 @@ private:
};
typedef acore::AutoPtr<PreparedResultSet, ACE_Thread_Mutex> PreparedQueryResult;
typedef std::shared_ptr<PreparedResultSet> PreparedQueryResult;
#endif

View File

@@ -37,9 +37,9 @@ protected:
private:
bool _cleanedUp;
};
typedef acore::AutoPtr<Transaction, ACE_Thread_Mutex> SQLTransaction;
typedef std::shared_ptr<Transaction> SQLTransaction;
/*! Low level class*/
class TransactionTask : public SQLOperation

View File

@@ -300,7 +300,7 @@ void Item::UpdateDuration(Player* owner, uint32 diff)
void Item::SaveToDB(SQLTransaction& trans)
{
bool isInTransaction = !(trans.null());
bool isInTransaction = static_cast<bool>(trans);
if (!isInTransaction)
trans = CharacterDatabase.BeginTransaction();
@@ -1135,12 +1135,11 @@ void Item::SaveRefundDataToDB()
void Item::DeleteRefundDataFromDB(SQLTransaction* trans)
{
if (trans && !trans->null())
if (trans)
{
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_ITEM_REFUND_INSTANCE);
stmt->setUInt32(0, GetGUIDLow());
(*trans)->Append(stmt);
}
}

View File

@@ -7514,7 +7514,7 @@ void Player::ModifyHonorPoints(int32 value, SQLTransaction* trans /*=NULL*/)
newValue = 0;
SetHonorPoints(uint32(newValue));
if (trans && !trans->null())
if (trans)
{
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UDP_CHAR_HONOR_POINTS);
stmt->setUInt32(0, newValue);
@@ -7530,7 +7530,7 @@ void Player::ModifyArenaPoints(int32 value, SQLTransaction* trans /*=NULL*/)
newValue = 0;
SetArenaPoints(uint32(newValue));
if (trans && !trans->null())
if (trans)
{
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UDP_CHAR_ARENA_POINTS);
stmt->setUInt32(0, newValue);
@@ -20125,7 +20125,7 @@ void Player::_SaveMail(SQLTransaction& trans)
void Player::_SaveQuestStatus(SQLTransaction& trans)
{
bool isTransaction = !trans.null();
bool isTransaction = static_cast<bool>(trans);
if (!isTransaction)
trans = CharacterDatabase.BeginTransaction();

View File

@@ -12,17 +12,17 @@
#include "Weather.h"
#include "Log.h"
#include "ObjectMgr.h"
#include "AutoPtr.h"
#include "Player.h"
#include "WorldPacket.h"
#include "WorldSession.h"
#include <memory>
namespace WeatherMgr
{
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;
WeatherMap m_weathers;