mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2025-11-29 17:38:24 +08:00
refactor(Core/Common): restyle tools with astyle (#3706)
This commit is contained in:
@@ -13,7 +13,7 @@
|
|||||||
#include "BoundingIntervalHierarchy.h"
|
#include "BoundingIntervalHierarchy.h"
|
||||||
|
|
||||||
|
|
||||||
template<class T, class BoundsFunc = BoundsTrait<T> >
|
template<class T, class BoundsFunc = BoundsTrait<T>>
|
||||||
class BIHWrap
|
class BIHWrap
|
||||||
{
|
{
|
||||||
template<class RayCallback>
|
template<class RayCallback>
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ static bool operator == (const GameObjectModel& mdl, const GameObjectModel& mdl2
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
typedef RegularGrid2D<GameObjectModel, BIHWrap<GameObjectModel> > ParentTree;
|
typedef RegularGrid2D<GameObjectModel, BIHWrap<GameObjectModel>> ParentTree;
|
||||||
|
|
||||||
struct DynTreeImpl : public ParentTree/*, public Intersectable*/
|
struct DynTreeImpl : public ParentTree/*, public Intersectable*/
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -71,9 +71,9 @@ namespace VMAP
|
|||||||
*/
|
*/
|
||||||
void setEnableHeightCalc(bool pVal) { iEnableHeightCalc = pVal; }
|
void setEnableHeightCalc(bool pVal) { iEnableHeightCalc = pVal; }
|
||||||
|
|
||||||
bool isLineOfSightCalcEnabled() const { return(iEnableLineOfSightCalc); }
|
bool isLineOfSightCalcEnabled() const { return (iEnableLineOfSightCalc); }
|
||||||
bool isHeightCalcEnabled() const { return(iEnableHeightCalc); }
|
bool isHeightCalcEnabled() const { return (iEnableHeightCalc); }
|
||||||
bool isMapLoadingEnabled() const { return(iEnableLineOfSightCalc || iEnableHeightCalc ); }
|
bool isMapLoadingEnabled() const { return (iEnableLineOfSightCalc || iEnableHeightCalc ); }
|
||||||
|
|
||||||
virtual std::string getDirFileName(unsigned int pMapId, int x, int y) const = 0;
|
virtual std::string getDirFileName(unsigned int pMapId, int x, int y) const = 0;
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ namespace MMAP
|
|||||||
ACORE_WRITE_GUARD(ACE_RW_Thread_Mutex, MMapManagerLock);
|
ACORE_WRITE_GUARD(ACE_RW_Thread_Mutex, MMapManagerLock);
|
||||||
|
|
||||||
// make sure the mmap is loaded and ready to load tiles
|
// make sure the mmap is loaded and ready to load tiles
|
||||||
if(!loadMapData(mapId))
|
if (!loadMapData(mapId))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// get this mmap data
|
// get this mmap data
|
||||||
@@ -148,7 +148,7 @@ namespace MMAP
|
|||||||
ASSERT(data);
|
ASSERT(data);
|
||||||
|
|
||||||
size_t result = fread(data, fileHeader.size, 1, file);
|
size_t result = fread(data, fileHeader.size, 1, file);
|
||||||
if(!result)
|
if (!result)
|
||||||
{
|
{
|
||||||
sLog->outError("MMAP:loadMap: Bad header or data in mmap %03u%02i%02i.mmtile", mapId, x, y);
|
sLog->outError("MMAP:loadMap: Bad header or data in mmap %03u%02i%02i.mmtile", mapId, x, y);
|
||||||
fclose(file);
|
fclose(file);
|
||||||
|
|||||||
@@ -220,7 +220,7 @@ namespace VMAP
|
|||||||
{
|
{
|
||||||
height = pPos.z - maxDist;
|
height = pPos.z - maxDist;
|
||||||
}
|
}
|
||||||
return(height);
|
return (height);
|
||||||
}
|
}
|
||||||
|
|
||||||
//=========================================================
|
//=========================================================
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ namespace VMAP
|
|||||||
{
|
{
|
||||||
Vector3 out = pIn * iScale;
|
Vector3 out = pIn * iScale;
|
||||||
out = iRotation * out;
|
out = iRotation * out;
|
||||||
return(out);
|
return (out);
|
||||||
}
|
}
|
||||||
|
|
||||||
//=================================================================
|
//=================================================================
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ public:
|
|||||||
#define HGRID_MAP_SIZE (533.33333f * 64.f) // shouldn't be changed
|
#define HGRID_MAP_SIZE (533.33333f * 64.f) // shouldn't be changed
|
||||||
#define CELL_SIZE float(HGRID_MAP_SIZE/(float)CELL_NUMBER)
|
#define CELL_SIZE float(HGRID_MAP_SIZE/(float)CELL_NUMBER)
|
||||||
|
|
||||||
typedef G3D::Table<const T*, NodeArray<Node> > MemberTable;
|
typedef G3D::Table<const T*, NodeArray<Node>> MemberTable;
|
||||||
|
|
||||||
MemberTable memberTable;
|
MemberTable memberTable;
|
||||||
Node* nodes[CELL_NUMBER][CELL_NUMBER];
|
Node* nodes[CELL_NUMBER][CELL_NUMBER];
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
bool dryRun = false;
|
bool dryRun = false;
|
||||||
|
|
||||||
bool LoadData(std::string const& file);
|
bool LoadData(std::string const& file);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ static void threadIdCallback(CRYPTO_THREADID* id)
|
|||||||
void OpenSSLCrypto::threadsSetup()
|
void OpenSSLCrypto::threadsSetup()
|
||||||
{
|
{
|
||||||
cryptoLocks.resize(CRYPTO_num_locks());
|
cryptoLocks.resize(CRYPTO_num_locks());
|
||||||
for(int i = 0 ; i < CRYPTO_num_locks(); ++i)
|
for (int i = 0 ; i < CRYPTO_num_locks(); ++i)
|
||||||
{
|
{
|
||||||
cryptoLocks[i] = new std::mutex();
|
cryptoLocks[i] = new std::mutex();
|
||||||
}
|
}
|
||||||
@@ -40,7 +40,7 @@ void OpenSSLCrypto::threadsCleanup()
|
|||||||
{
|
{
|
||||||
CRYPTO_set_locking_callback(nullptr);
|
CRYPTO_set_locking_callback(nullptr);
|
||||||
CRYPTO_THREADID_set_callback(nullptr);
|
CRYPTO_THREADID_set_callback(nullptr);
|
||||||
for(int i = 0 ; i < CRYPTO_num_locks(); ++i)
|
for (int i = 0 ; i < CRYPTO_num_locks(); ++i)
|
||||||
{
|
{
|
||||||
delete cryptoLocks[i];
|
delete cryptoLocks[i];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -275,17 +275,17 @@ char* DBCFileLoader::AutoProduceStrings(char const* format, char* dataTable)
|
|||||||
offset += sizeof(uint8);
|
offset += sizeof(uint8);
|
||||||
break;
|
break;
|
||||||
case FT_STRING:
|
case FT_STRING:
|
||||||
|
{
|
||||||
|
// fill only not filled entries
|
||||||
|
char** slot = (char**)(&dataTable[offset]);
|
||||||
|
if (!*slot || !** slot)
|
||||||
{
|
{
|
||||||
// fill only not filled entries
|
const char* st = getRecord(y).getString(x);
|
||||||
char** slot = (char**)(&dataTable[offset]);
|
*slot = stringPool + (st - (char const*)stringTable);
|
||||||
if (!*slot || !** slot)
|
|
||||||
{
|
|
||||||
const char* st = getRecord(y).getString(x);
|
|
||||||
*slot = stringPool + (st - (char const*)stringTable);
|
|
||||||
}
|
|
||||||
offset += sizeof(char*);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
offset += sizeof(char*);
|
||||||
|
break;
|
||||||
|
}
|
||||||
case FT_LOGIC:
|
case FT_LOGIC:
|
||||||
ASSERT(false && "Attempted to load DBC files that does not have field types that match what is in the core. Check DBCfmt.h or your DBC files.");
|
ASSERT(false && "Attempted to load DBC files that does not have field types that match what is in the core. Check DBCfmt.h or your DBC files.");
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -10,8 +10,7 @@
|
|||||||
#define MIN_MYSQL_SERVER_VERSION 50600u
|
#define MIN_MYSQL_SERVER_VERSION 50600u
|
||||||
#define MIN_MYSQL_CLIENT_VERSION 50600u
|
#define MIN_MYSQL_CLIENT_VERSION 50600u
|
||||||
|
|
||||||
template <class T>
|
template <class T> DatabaseWorkerPool<T>::DatabaseWorkerPool() :
|
||||||
DatabaseWorkerPool<T>::DatabaseWorkerPool() :
|
|
||||||
_mqueue(new ACE_Message_Queue<ACE_SYNCH>(2 * 1024 * 1024, 2 * 1024 * 1024)),
|
_mqueue(new ACE_Message_Queue<ACE_SYNCH>(2 * 1024 * 1024, 2 * 1024 * 1024)),
|
||||||
_queue(new ACE_Activation_Queue(_mqueue))
|
_queue(new ACE_Activation_Queue(_mqueue))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -402,29 +402,29 @@ bool MySQLConnection::ExecuteTransaction(SQLTransaction& transaction)
|
|||||||
switch (itr->type)
|
switch (itr->type)
|
||||||
{
|
{
|
||||||
case SQL_ELEMENT_PREPARED:
|
case SQL_ELEMENT_PREPARED:
|
||||||
|
{
|
||||||
|
PreparedStatement* stmt = data.element.stmt;
|
||||||
|
ASSERT(stmt);
|
||||||
|
if (!Execute(stmt))
|
||||||
{
|
{
|
||||||
PreparedStatement* stmt = data.element.stmt;
|
sLog->outSQLDriver("[Warning] Transaction aborted. %u queries not executed.", (uint32)queries.size());
|
||||||
ASSERT(stmt);
|
RollbackTransaction();
|
||||||
if (!Execute(stmt))
|
return false;
|
||||||
{
|
|
||||||
sLog->outSQLDriver("[Warning] Transaction aborted. %u queries not executed.", (uint32)queries.size());
|
|
||||||
RollbackTransaction();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
break;
|
}
|
||||||
|
break;
|
||||||
case SQL_ELEMENT_RAW:
|
case SQL_ELEMENT_RAW:
|
||||||
|
{
|
||||||
|
const char* sql = data.element.query;
|
||||||
|
ASSERT(sql);
|
||||||
|
if (!Execute(sql))
|
||||||
{
|
{
|
||||||
const char* sql = data.element.query;
|
sLog->outSQLDriver("[Warning] Transaction aborted. %u queries not executed.", (uint32)queries.size());
|
||||||
ASSERT(sql);
|
RollbackTransaction();
|
||||||
if (!Execute(sql))
|
return false;
|
||||||
{
|
|
||||||
sLog->outSQLDriver("[Warning] Transaction aborted. %u queries not executed.", (uint32)queries.size());
|
|
||||||
RollbackTransaction();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
break;
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -515,27 +515,27 @@ bool MySQLConnection::_HandleMySQLErrno(uint32 errNo)
|
|||||||
#if !(MARIADB_VERSION_ID >= 100200)
|
#if !(MARIADB_VERSION_ID >= 100200)
|
||||||
case CR_INVALID_CONN_HANDLE:
|
case CR_INVALID_CONN_HANDLE:
|
||||||
#endif
|
#endif
|
||||||
|
{
|
||||||
|
m_reconnecting = true;
|
||||||
|
uint64 oldThreadId = mysql_thread_id(GetHandle());
|
||||||
|
mysql_close(GetHandle());
|
||||||
|
if (this->Open()) // Don't remove 'this' pointer unless you want to skip loading all prepared statements....
|
||||||
{
|
{
|
||||||
m_reconnecting = true;
|
sLog->outSQLDriver("Connection to the MySQL server is active.");
|
||||||
uint64 oldThreadId = mysql_thread_id(GetHandle());
|
if (oldThreadId != mysql_thread_id(GetHandle()))
|
||||||
mysql_close(GetHandle());
|
sLog->outSQLDriver("Successfully reconnected to %s @%s:%s (%s).",
|
||||||
if (this->Open()) // Don't remove 'this' pointer unless you want to skip loading all prepared statements....
|
m_connectionInfo.database.c_str(), m_connectionInfo.host.c_str(), m_connectionInfo.port_or_socket.c_str(),
|
||||||
{
|
(m_connectionFlags & CONNECTION_ASYNC) ? "asynchronous" : "synchronous");
|
||||||
sLog->outSQLDriver("Connection to the MySQL server is active.");
|
|
||||||
if (oldThreadId != mysql_thread_id(GetHandle()))
|
|
||||||
sLog->outSQLDriver("Successfully reconnected to %s @%s:%s (%s).",
|
|
||||||
m_connectionInfo.database.c_str(), m_connectionInfo.host.c_str(), m_connectionInfo.port_or_socket.c_str(),
|
|
||||||
(m_connectionFlags & CONNECTION_ASYNC) ? "asynchronous" : "synchronous");
|
|
||||||
|
|
||||||
m_reconnecting = false;
|
m_reconnecting = false;
|
||||||
return true;
|
return true;
|
||||||
}
|
|
||||||
|
|
||||||
uint32 lErrno = mysql_errno(GetHandle()); // It's possible this attempted reconnect throws 2006 at us. To prevent crazy recursive calls, sleep here.
|
|
||||||
std::this_thread::sleep_for(3s); // Sleep 3 seconds
|
|
||||||
return _HandleMySQLErrno(lErrno); // Call self (recursive)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint32 lErrno = mysql_errno(GetHandle()); // It's possible this attempted reconnect throws 2006 at us. To prevent crazy recursive calls, sleep here.
|
||||||
|
std::this_thread::sleep_for(3s); // Sleep 3 seconds
|
||||||
|
return _HandleMySQLErrno(lErrno); // Call self (recursive)
|
||||||
|
}
|
||||||
|
|
||||||
case ER_LOCK_DEADLOCK:
|
case ER_LOCK_DEADLOCK:
|
||||||
return false; // Implemented in TransactionTask::Execute and DatabaseWorkerPool<T>::DirectCommitTransaction
|
return false; // Implemented in TransactionTask::Execute and DatabaseWorkerPool<T>::DirectCommitTransaction
|
||||||
// Query related errors - skip query
|
// Query related errors - skip query
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ struct MySQLConnectionInfo
|
|||||||
std::string port_or_socket;
|
std::string port_or_socket;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef std::map<uint32 /*index*/, std::pair<std::string /*query*/, ConnectionFlags /*sync/async*/> > PreparedStatementMap;
|
typedef std::map<uint32 /*index*/, std::pair<std::string /*query*/, ConnectionFlags /*sync/async*/>> PreparedStatementMap;
|
||||||
|
|
||||||
class MySQLConnection
|
class MySQLConnection
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -175,19 +175,19 @@ bool SQLQueryHolderTask::Execute()
|
|||||||
switch (data->type)
|
switch (data->type)
|
||||||
{
|
{
|
||||||
case SQL_ELEMENT_RAW:
|
case SQL_ELEMENT_RAW:
|
||||||
{
|
{
|
||||||
char const* sql = data->element.query;
|
char const* sql = data->element.query;
|
||||||
if (sql)
|
if (sql)
|
||||||
m_holder->SetResult(i, m_conn->Query(sql));
|
m_holder->SetResult(i, m_conn->Query(sql));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case SQL_ELEMENT_PREPARED:
|
case SQL_ELEMENT_PREPARED:
|
||||||
{
|
{
|
||||||
PreparedStatement* stmt = data->element.stmt;
|
PreparedStatement* stmt = data->element.stmt;
|
||||||
if (stmt)
|
if (stmt)
|
||||||
m_holder->SetPreparedResult(i, m_conn->Query(stmt));
|
m_holder->SetPreparedResult(i, m_conn->Query(stmt));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -271,147 +271,147 @@ BOOL WheatyExceptionReport::_GetWindowsVersion(TCHAR* szVersion, DWORD cntMax)
|
|||||||
{
|
{
|
||||||
// Windows NT product family.
|
// Windows NT product family.
|
||||||
case VER_PLATFORM_WIN32_NT:
|
case VER_PLATFORM_WIN32_NT:
|
||||||
{
|
{
|
||||||
#if WINVER < 0x0500
|
#if WINVER < 0x0500
|
||||||
BYTE suiteMask = osvi.wReserved[0];
|
BYTE suiteMask = osvi.wReserved[0];
|
||||||
BYTE productType = osvi.wReserved[1];
|
BYTE productType = osvi.wReserved[1];
|
||||||
#else
|
#else
|
||||||
WORD suiteMask = osvi.wSuiteMask;
|
WORD suiteMask = osvi.wSuiteMask;
|
||||||
BYTE productType = osvi.wProductType;
|
BYTE productType = osvi.wProductType;
|
||||||
#endif // WINVER < 0x0500
|
#endif // WINVER < 0x0500
|
||||||
|
|
||||||
// Test for the specific product family.
|
// Test for the specific product family.
|
||||||
if (osvi.dwMajorVersion == 10)
|
if (osvi.dwMajorVersion == 10)
|
||||||
|
{
|
||||||
|
if (productType == VER_NT_WORKSTATION)
|
||||||
|
_tcsncat(szVersion, _T("Windows 10 "), cntMax);
|
||||||
|
else
|
||||||
|
_tcsncat(szVersion, _T("Windows Server 2016 "), cntMax);
|
||||||
|
}
|
||||||
|
else if (osvi.dwMajorVersion == 6)
|
||||||
|
{
|
||||||
|
if (productType == VER_NT_WORKSTATION)
|
||||||
{
|
{
|
||||||
if (productType == VER_NT_WORKSTATION)
|
if (osvi.dwMinorVersion == 3)
|
||||||
_tcsncat(szVersion, _T("Windows 10 "), cntMax);
|
_tcsncat(szVersion, _T("Windows 8.1 "), cntMax);
|
||||||
else
|
|
||||||
_tcsncat(szVersion, _T("Windows Server 2016 "), cntMax);
|
|
||||||
}
|
|
||||||
else if (osvi.dwMajorVersion == 6)
|
|
||||||
{
|
|
||||||
if (productType == VER_NT_WORKSTATION)
|
|
||||||
{
|
|
||||||
if (osvi.dwMinorVersion == 3)
|
|
||||||
_tcsncat(szVersion, _T("Windows 8.1 "), cntMax);
|
|
||||||
else if (osvi.dwMinorVersion == 2)
|
|
||||||
_tcsncat(szVersion, _T("Windows 8 "), cntMax);
|
|
||||||
else if (osvi.dwMinorVersion == 1)
|
|
||||||
_tcsncat(szVersion, _T("Windows 7 "), cntMax);
|
|
||||||
else
|
|
||||||
_tcsncat(szVersion, _T("Windows Vista "), cntMax);
|
|
||||||
}
|
|
||||||
else if (osvi.dwMinorVersion == 3)
|
|
||||||
_tcsncat(szVersion, _T("Windows Server 2012 R2 "), cntMax);
|
|
||||||
else if (osvi.dwMinorVersion == 2)
|
else if (osvi.dwMinorVersion == 2)
|
||||||
_tcsncat(szVersion, _T("Windows Server 2012 "), cntMax);
|
_tcsncat(szVersion, _T("Windows 8 "), cntMax);
|
||||||
else if (osvi.dwMinorVersion == 1)
|
else if (osvi.dwMinorVersion == 1)
|
||||||
_tcsncat(szVersion, _T("Windows Server 2008 R2 "), cntMax);
|
_tcsncat(szVersion, _T("Windows 7 "), cntMax);
|
||||||
else
|
else
|
||||||
_tcsncat(szVersion, _T("Windows Server 2008 "), cntMax);
|
_tcsncat(szVersion, _T("Windows Vista "), cntMax);
|
||||||
}
|
}
|
||||||
else if (osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 2)
|
else if (osvi.dwMinorVersion == 3)
|
||||||
_tcsncat(szVersion, _T("Microsoft Windows Server 2003 "), cntMax);
|
_tcsncat(szVersion, _T("Windows Server 2012 R2 "), cntMax);
|
||||||
else if (osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 1)
|
else if (osvi.dwMinorVersion == 2)
|
||||||
_tcsncat(szVersion, _T("Microsoft Windows XP "), cntMax);
|
_tcsncat(szVersion, _T("Windows Server 2012 "), cntMax);
|
||||||
else if (osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 0)
|
else if (osvi.dwMinorVersion == 1)
|
||||||
_tcsncat(szVersion, _T("Microsoft Windows 2000 "), cntMax);
|
_tcsncat(szVersion, _T("Windows Server 2008 R2 "), cntMax);
|
||||||
else if (osvi.dwMajorVersion <= 4)
|
else
|
||||||
_tcsncat(szVersion, _T("Microsoft Windows NT "), cntMax);
|
_tcsncat(szVersion, _T("Windows Server 2008 "), cntMax);
|
||||||
|
}
|
||||||
|
else if (osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 2)
|
||||||
|
_tcsncat(szVersion, _T("Microsoft Windows Server 2003 "), cntMax);
|
||||||
|
else if (osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 1)
|
||||||
|
_tcsncat(szVersion, _T("Microsoft Windows XP "), cntMax);
|
||||||
|
else if (osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 0)
|
||||||
|
_tcsncat(szVersion, _T("Microsoft Windows 2000 "), cntMax);
|
||||||
|
else if (osvi.dwMajorVersion <= 4)
|
||||||
|
_tcsncat(szVersion, _T("Microsoft Windows NT "), cntMax);
|
||||||
|
|
||||||
// Test for specific product on Windows NT 4.0 SP6 and later.
|
// Test for specific product on Windows NT 4.0 SP6 and later.
|
||||||
if (bVersionEx >= 0)
|
if (bVersionEx >= 0)
|
||||||
|
{
|
||||||
|
// Test for the workstation type.
|
||||||
|
if (productType == VER_NT_WORKSTATION)
|
||||||
{
|
{
|
||||||
// Test for the workstation type.
|
if (osvi.dwMajorVersion == 4)
|
||||||
if (productType == VER_NT_WORKSTATION)
|
_tcsncat(szVersion, _T("Workstation 4.0 "), cntMax);
|
||||||
|
else if (suiteMask & VER_SUITE_PERSONAL)
|
||||||
|
_tcsncat(szVersion, _T("Home Edition "), cntMax);
|
||||||
|
else if (suiteMask & VER_SUITE_EMBEDDEDNT)
|
||||||
|
_tcsncat(szVersion, _T("Embedded "), cntMax);
|
||||||
|
else
|
||||||
|
_tcsncat(szVersion, _T("Professional "), cntMax);
|
||||||
|
}
|
||||||
|
// Test for the server type.
|
||||||
|
else if (productType == VER_NT_SERVER)
|
||||||
|
{
|
||||||
|
if (osvi.dwMajorVersion == 6 || osvi.dwMajorVersion == 10)
|
||||||
{
|
{
|
||||||
if (osvi.dwMajorVersion == 4)
|
if (suiteMask & VER_SUITE_SMALLBUSINESS_RESTRICTED)
|
||||||
_tcsncat(szVersion, _T("Workstation 4.0 "), cntMax);
|
_tcsncat(szVersion, _T("Essentials "), cntMax);
|
||||||
else if (suiteMask & VER_SUITE_PERSONAL)
|
else if (suiteMask & VER_SUITE_DATACENTER)
|
||||||
_tcsncat(szVersion, _T("Home Edition "), cntMax);
|
_tcsncat(szVersion, _T("Datacenter "), cntMax);
|
||||||
else if (suiteMask & VER_SUITE_EMBEDDEDNT)
|
else if (suiteMask & VER_SUITE_ENTERPRISE)
|
||||||
_tcsncat(szVersion, _T("Embedded "), cntMax);
|
_tcsncat(szVersion, _T("Enterprise "), cntMax);
|
||||||
else
|
else
|
||||||
_tcsncat(szVersion, _T("Professional "), cntMax);
|
_tcsncat(szVersion, _T("Standard "), cntMax);
|
||||||
}
|
}
|
||||||
// Test for the server type.
|
else if (osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 2)
|
||||||
else if (productType == VER_NT_SERVER)
|
|
||||||
{
|
{
|
||||||
if (osvi.dwMajorVersion == 6 || osvi.dwMajorVersion == 10)
|
if (suiteMask & VER_SUITE_DATACENTER)
|
||||||
{
|
_tcsncat(szVersion, _T("Datacenter Edition "), cntMax);
|
||||||
if (suiteMask & VER_SUITE_SMALLBUSINESS_RESTRICTED)
|
else if (suiteMask & VER_SUITE_ENTERPRISE)
|
||||||
_tcsncat(szVersion, _T("Essentials "), cntMax);
|
_tcsncat(szVersion, _T("Enterprise Edition "), cntMax);
|
||||||
else if (suiteMask & VER_SUITE_DATACENTER)
|
else if (suiteMask == VER_SUITE_BLADE)
|
||||||
_tcsncat(szVersion, _T("Datacenter "), cntMax);
|
_tcsncat(szVersion, _T("Web Edition "), cntMax);
|
||||||
else if (suiteMask & VER_SUITE_ENTERPRISE)
|
else
|
||||||
_tcsncat(szVersion, _T("Enterprise "), cntMax);
|
_tcsncat(szVersion, _T("Standard Edition "), cntMax);
|
||||||
else
|
}
|
||||||
_tcsncat(szVersion, _T("Standard "), cntMax);
|
else if (osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 0)
|
||||||
}
|
{
|
||||||
else if (osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 2)
|
if (suiteMask & VER_SUITE_DATACENTER)
|
||||||
{
|
_tcsncat(szVersion, _T("Datacenter Server "), cntMax);
|
||||||
if (suiteMask & VER_SUITE_DATACENTER)
|
else if (suiteMask & VER_SUITE_ENTERPRISE)
|
||||||
_tcsncat(szVersion, _T("Datacenter Edition "), cntMax);
|
_tcsncat(szVersion, _T("Advanced Server "), cntMax);
|
||||||
else if (suiteMask & VER_SUITE_ENTERPRISE)
|
else
|
||||||
_tcsncat(szVersion, _T("Enterprise Edition "), cntMax);
|
_tcsncat(szVersion, _T("Server "), cntMax);
|
||||||
else if (suiteMask == VER_SUITE_BLADE)
|
}
|
||||||
_tcsncat(szVersion, _T("Web Edition "), cntMax);
|
else // Windows NT 4.0
|
||||||
else
|
{
|
||||||
_tcsncat(szVersion, _T("Standard Edition "), cntMax);
|
if (suiteMask & VER_SUITE_ENTERPRISE)
|
||||||
}
|
_tcsncat(szVersion, _T("Server 4.0, Enterprise Edition "), cntMax);
|
||||||
else if (osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 0)
|
else
|
||||||
{
|
_tcsncat(szVersion, _T("Server 4.0 "), cntMax);
|
||||||
if (suiteMask & VER_SUITE_DATACENTER)
|
|
||||||
_tcsncat(szVersion, _T("Datacenter Server "), cntMax);
|
|
||||||
else if (suiteMask & VER_SUITE_ENTERPRISE)
|
|
||||||
_tcsncat(szVersion, _T("Advanced Server "), cntMax);
|
|
||||||
else
|
|
||||||
_tcsncat(szVersion, _T("Server "), cntMax);
|
|
||||||
}
|
|
||||||
else // Windows NT 4.0
|
|
||||||
{
|
|
||||||
if (suiteMask & VER_SUITE_ENTERPRISE)
|
|
||||||
_tcsncat(szVersion, _T("Server 4.0, Enterprise Edition "), cntMax);
|
|
||||||
else
|
|
||||||
_tcsncat(szVersion, _T("Server 4.0 "), cntMax);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Display service pack (if any) and build number.
|
// Display service pack (if any) and build number.
|
||||||
if (osvi.dwMajorVersion == 4 && _tcsicmp(szCSDVersion, _T("Service Pack 6")) == 0)
|
if (osvi.dwMajorVersion == 4 && _tcsicmp(szCSDVersion, _T("Service Pack 6")) == 0)
|
||||||
{
|
{
|
||||||
HKEY hKey;
|
HKEY hKey;
|
||||||
LONG lRet;
|
LONG lRet;
|
||||||
|
|
||||||
// Test for SP6 versus SP6a.
|
// Test for SP6 versus SP6a.
|
||||||
lRet = ::RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Hotfix\\Q246009"), 0, KEY_QUERY_VALUE, &hKey);
|
lRet = ::RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Hotfix\\Q246009"), 0, KEY_QUERY_VALUE, &hKey);
|
||||||
if (lRet == ERROR_SUCCESS)
|
if (lRet == ERROR_SUCCESS)
|
||||||
{
|
|
||||||
_stprintf(wszTmp, _T("Service Pack 6a (Version %d.%d, Build %d)"),
|
|
||||||
osvi.dwMajorVersion, osvi.dwMinorVersion, osvi.dwBuildNumber & 0xFFFF);
|
|
||||||
_tcsncat(szVersion, wszTmp, cntMax);
|
|
||||||
}
|
|
||||||
else // Windows NT 4.0 prior to SP6a
|
|
||||||
{
|
|
||||||
_stprintf(wszTmp, _T("%s (Version %d.%d, Build %d)"),
|
|
||||||
szCSDVersion, osvi.dwMajorVersion, osvi.dwMinorVersion, osvi.dwBuildNumber & 0xFFFF);
|
|
||||||
_tcsncat(szVersion, wszTmp, cntMax);
|
|
||||||
}
|
|
||||||
::RegCloseKey(hKey);
|
|
||||||
}
|
|
||||||
else // Windows NT 3.51 and earlier or Windows 2000 and later
|
|
||||||
{
|
{
|
||||||
if (!_tcslen(szCSDVersion))
|
_stprintf(wszTmp, _T("Service Pack 6a (Version %d.%d, Build %d)"),
|
||||||
_stprintf(wszTmp, _T("(Version %d.%d, Build %d)"),
|
osvi.dwMajorVersion, osvi.dwMinorVersion, osvi.dwBuildNumber & 0xFFFF);
|
||||||
osvi.dwMajorVersion, osvi.dwMinorVersion, osvi.dwBuildNumber & 0xFFFF);
|
|
||||||
else
|
|
||||||
_stprintf(wszTmp, _T("%s (Version %d.%d, Build %d)"),
|
|
||||||
szCSDVersion, osvi.dwMajorVersion, osvi.dwMinorVersion, osvi.dwBuildNumber & 0xFFFF);
|
|
||||||
_tcsncat(szVersion, wszTmp, cntMax);
|
_tcsncat(szVersion, wszTmp, cntMax);
|
||||||
}
|
}
|
||||||
break;
|
else // Windows NT 4.0 prior to SP6a
|
||||||
|
{
|
||||||
|
_stprintf(wszTmp, _T("%s (Version %d.%d, Build %d)"),
|
||||||
|
szCSDVersion, osvi.dwMajorVersion, osvi.dwMinorVersion, osvi.dwBuildNumber & 0xFFFF);
|
||||||
|
_tcsncat(szVersion, wszTmp, cntMax);
|
||||||
|
}
|
||||||
|
::RegCloseKey(hKey);
|
||||||
}
|
}
|
||||||
|
else // Windows NT 3.51 and earlier or Windows 2000 and later
|
||||||
|
{
|
||||||
|
if (!_tcslen(szCSDVersion))
|
||||||
|
_stprintf(wszTmp, _T("(Version %d.%d, Build %d)"),
|
||||||
|
osvi.dwMajorVersion, osvi.dwMinorVersion, osvi.dwBuildNumber & 0xFFFF);
|
||||||
|
else
|
||||||
|
_stprintf(wszTmp, _T("%s (Version %d.%d, Build %d)"),
|
||||||
|
szCSDVersion, osvi.dwMajorVersion, osvi.dwMinorVersion, osvi.dwBuildNumber & 0xFFFF);
|
||||||
|
_tcsncat(szVersion, wszTmp, cntMax);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
_stprintf(wszTmp, _T("%s (Version %d.%d, Build %d)"),
|
_stprintf(wszTmp, _T("%s (Version %d.%d, Build %d)"),
|
||||||
szCSDVersion, osvi.dwMajorVersion, osvi.dwMinorVersion, osvi.dwBuildNumber & 0xFFFF);
|
szCSDVersion, osvi.dwMajorVersion, osvi.dwMinorVersion, osvi.dwBuildNumber & 0xFFFF);
|
||||||
@@ -845,8 +845,7 @@ void WheatyExceptionReport::WriteStackDetails(
|
|||||||
// The function invoked by SymEnumSymbols
|
// The function invoked by SymEnumSymbols
|
||||||
//////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
BOOL CALLBACK
|
BOOL CALLBACK WheatyExceptionReport::EnumerateSymbolsCallback(
|
||||||
WheatyExceptionReport::EnumerateSymbolsCallback(
|
|
||||||
PSYMBOL_INFO pSymInfo,
|
PSYMBOL_INFO pSymInfo,
|
||||||
ULONG /*SymbolSize*/,
|
ULONG /*SymbolSize*/,
|
||||||
PVOID UserContext)
|
PVOID UserContext)
|
||||||
@@ -1295,27 +1294,27 @@ void WheatyExceptionReport::FormatOutputValue(char* pszCurrBuffer,
|
|||||||
switch (basicType)
|
switch (basicType)
|
||||||
{
|
{
|
||||||
case btChar:
|
case btChar:
|
||||||
{
|
{
|
||||||
// Special case handling for char[] type
|
// Special case handling for char[] type
|
||||||
if (countOverride != 0)
|
if (countOverride != 0)
|
||||||
length = countOverride;
|
length = countOverride;
|
||||||
else
|
else
|
||||||
length = strlen((char*)pAddress);
|
length = strlen((char*)pAddress);
|
||||||
if (length > bufferSize - 6)
|
if (length > bufferSize - 6)
|
||||||
pszCurrBuffer += sprintf(pszCurrBuffer, "\"%.*s...\"", (DWORD)(bufferSize - 6), (char*)pAddress);
|
pszCurrBuffer += sprintf(pszCurrBuffer, "\"%.*s...\"", (DWORD)(bufferSize - 6), (char*)pAddress);
|
||||||
else
|
else
|
||||||
pszCurrBuffer += sprintf(pszCurrBuffer, "\"%.*s\"", (DWORD)length, (char*)pAddress);
|
pszCurrBuffer += sprintf(pszCurrBuffer, "\"%.*s\"", (DWORD)length, (char*)pAddress);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case btStdString:
|
case btStdString:
|
||||||
{
|
{
|
||||||
std::string* value = static_cast<std::string*>(pAddress);
|
std::string* value = static_cast<std::string*>(pAddress);
|
||||||
if (value->length() > bufferSize - 6)
|
if (value->length() > bufferSize - 6)
|
||||||
pszCurrBuffer += sprintf(pszCurrBuffer, "\"%.*s...\"", (DWORD)(bufferSize - 6), value->c_str());
|
pszCurrBuffer += sprintf(pszCurrBuffer, "\"%.*s...\"", (DWORD)(bufferSize - 6), value->c_str());
|
||||||
else
|
else
|
||||||
pszCurrBuffer += sprintf(pszCurrBuffer, "\"%s\"", value->c_str());
|
pszCurrBuffer += sprintf(pszCurrBuffer, "\"%s\"", value->c_str());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
// Format appropriately (assuming it's a 1, 2, or 4 bytes (!!!)
|
// Format appropriately (assuming it's a 1, 2, or 4 bytes (!!!)
|
||||||
if (length == 1)
|
if (length == 1)
|
||||||
@@ -1361,8 +1360,7 @@ void WheatyExceptionReport::FormatOutputValue(char* pszCurrBuffer,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
BasicType
|
BasicType WheatyExceptionReport::GetBasicType(DWORD typeIndex, DWORD64 modBase)
|
||||||
WheatyExceptionReport::GetBasicType(DWORD typeIndex, DWORD64 modBase)
|
|
||||||
{
|
{
|
||||||
BasicType basicType;
|
BasicType basicType;
|
||||||
if (SymGetTypeInfo(m_hProcess, modBase, typeIndex,
|
if (SymGetTypeInfo(m_hProcess, modBase, typeIndex,
|
||||||
|
|||||||
@@ -24,9 +24,9 @@ public:
|
|||||||
LinkedListElement(): iNext(NULL), iPrev(NULL) { }
|
LinkedListElement(): iNext(NULL), iPrev(NULL) { }
|
||||||
~LinkedListElement() { delink(); }
|
~LinkedListElement() { delink(); }
|
||||||
|
|
||||||
bool hasNext() const { return(iNext && iNext->iNext != NULL); }
|
bool hasNext() const { return (iNext && iNext->iNext != NULL); }
|
||||||
bool hasPrev() const { return(iPrev && iPrev->iPrev != NULL); }
|
bool hasPrev() const { return (iPrev && iPrev->iPrev != NULL); }
|
||||||
bool isInList() const { return(iNext != NULL && iPrev != NULL); }
|
bool isInList() const { return (iNext != NULL && iPrev != NULL); }
|
||||||
|
|
||||||
LinkedListElement* next() { return hasNext() ? iNext : NULL; }
|
LinkedListElement* next() { return hasNext() ? iNext : NULL; }
|
||||||
LinkedListElement const* next() const { return hasNext() ? iNext : NULL; }
|
LinkedListElement const* next() const { return hasNext() ? iNext : NULL; }
|
||||||
@@ -83,13 +83,13 @@ public:
|
|||||||
iLast.iPrev = &iFirst;
|
iLast.iPrev = &iFirst;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool isEmpty() const { return(!iFirst.iNext->isInList()); }
|
bool isEmpty() const { return (!iFirst.iNext->isInList()); }
|
||||||
|
|
||||||
LinkedListElement* getFirst() { return(isEmpty() ? NULL : iFirst.iNext); }
|
LinkedListElement* getFirst() { return (isEmpty() ? NULL : iFirst.iNext); }
|
||||||
LinkedListElement const* getFirst() const { return(isEmpty() ? NULL : iFirst.iNext); }
|
LinkedListElement const* getFirst() const { return (isEmpty() ? NULL : iFirst.iNext); }
|
||||||
|
|
||||||
LinkedListElement* getLast() { return(isEmpty() ? NULL : iLast.iPrev); }
|
LinkedListElement* getLast() { return (isEmpty() ? NULL : iLast.iPrev); }
|
||||||
LinkedListElement const* getLast() const { return(isEmpty() ? NULL : iLast.iPrev); }
|
LinkedListElement const* getLast() const { return (isEmpty() ? NULL : iLast.iPrev); }
|
||||||
|
|
||||||
void insertFirst(LinkedListElement* pElem)
|
void insertFirst(LinkedListElement* pElem)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
template <class TO, class FROM> class RefManager : public LinkedListHead
|
template <class TO, class FROM> class RefManager : public LinkedListHead
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef LinkedListHead::Iterator< Reference<TO, FROM> > iterator;
|
typedef LinkedListHead::Iterator< Reference<TO, FROM>> iterator;
|
||||||
RefManager() { }
|
RefManager() { }
|
||||||
virtual ~RefManager() { clearReferences(); }
|
virtual ~RefManager() { clearReferences(); }
|
||||||
|
|
||||||
|
|||||||
@@ -68,15 +68,15 @@ public:
|
|||||||
return iRefTo != NULL;
|
return iRefTo != NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
Reference<TO, FROM>* next() { return((Reference<TO, FROM>*) LinkedListElement::next()); }
|
Reference<TO, FROM>* next() { return ((Reference<TO, FROM>*) LinkedListElement::next()); }
|
||||||
Reference<TO, FROM> const* next() const { return((Reference<TO, FROM> const*) LinkedListElement::next()); }
|
Reference<TO, FROM> const* next() const { return ((Reference<TO, FROM> const*) LinkedListElement::next()); }
|
||||||
Reference<TO, FROM>* prev() { return((Reference<TO, FROM>*) LinkedListElement::prev()); }
|
Reference<TO, FROM>* prev() { return ((Reference<TO, FROM>*) LinkedListElement::prev()); }
|
||||||
Reference<TO, FROM> const* prev() const { return((Reference<TO, FROM> const*) LinkedListElement::prev()); }
|
Reference<TO, FROM> const* prev() const { return ((Reference<TO, FROM> const*) LinkedListElement::prev()); }
|
||||||
|
|
||||||
Reference<TO, FROM>* nocheck_next() { return((Reference<TO, FROM>*) LinkedListElement::nocheck_next()); }
|
Reference<TO, FROM>* nocheck_next() { return ((Reference<TO, FROM>*) LinkedListElement::nocheck_next()); }
|
||||||
Reference<TO, FROM> const* nocheck_next() const { return((Reference<TO, FROM> const*) LinkedListElement::nocheck_next()); }
|
Reference<TO, FROM> const* nocheck_next() const { return ((Reference<TO, FROM> const*) LinkedListElement::nocheck_next()); }
|
||||||
Reference<TO, FROM>* nocheck_prev() { return((Reference<TO, FROM>*) LinkedListElement::nocheck_prev()); }
|
Reference<TO, FROM>* nocheck_prev() { return ((Reference<TO, FROM>*) LinkedListElement::nocheck_prev()); }
|
||||||
Reference<TO, FROM> const* nocheck_prev() const { return((Reference<TO, FROM> const*) LinkedListElement::nocheck_prev()); }
|
Reference<TO, FROM> const* nocheck_prev() const { return ((Reference<TO, FROM> const*) LinkedListElement::nocheck_prev()); }
|
||||||
|
|
||||||
TO* operator ->() const { return iRefTo; }
|
TO* operator ->() const { return iRefTo; }
|
||||||
TO* getTarget() const { return iRefTo; }
|
TO* getTarget() const { return iRefTo; }
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ public:
|
|||||||
const T* GetRegistryItem(Key key) const
|
const T* GetRegistryItem(Key key) const
|
||||||
{
|
{
|
||||||
typename RegistryMapType::const_iterator iter = i_registeredObjects.find(key);
|
typename RegistryMapType::const_iterator iter = i_registeredObjects.find(key);
|
||||||
return( iter == i_registeredObjects.end() ? NULL : iter->second );
|
return ( iter == i_registeredObjects.end() ? NULL : iter->second );
|
||||||
}
|
}
|
||||||
|
|
||||||
static ObjectRegistry<T, Key>* instance()
|
static ObjectRegistry<T, Key>* instance()
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ template<class OBJECT> struct ContainerMapList
|
|||||||
template<> struct ContainerMapList<TypeNull> /* nothing is in type null */
|
template<> struct ContainerMapList<TypeNull> /* nothing is in type null */
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
template<class H, class T> struct ContainerMapList<TypeList<H, T> >
|
template<class H, class T> struct ContainerMapList<TypeList<H, T>>
|
||||||
{
|
{
|
||||||
ContainerMapList<H> _elements;
|
ContainerMapList<H> _elements;
|
||||||
ContainerMapList<T> _TailElements;
|
ContainerMapList<T> _TailElements;
|
||||||
@@ -50,7 +50,7 @@ template<class OBJECT> struct ContainerArrayList
|
|||||||
// termination condition
|
// termination condition
|
||||||
template<> struct ContainerArrayList<TypeNull> { };
|
template<> struct ContainerArrayList<TypeNull> { };
|
||||||
// recursion
|
// recursion
|
||||||
template<class H, class T> struct ContainerArrayList<TypeList<H, T> >
|
template<class H, class T> struct ContainerArrayList<TypeList<H, T>>
|
||||||
{
|
{
|
||||||
ContainerArrayList<H> _elements;
|
ContainerArrayList<H> _elements;
|
||||||
ContainerArrayList<T> _TailElements;
|
ContainerArrayList<T> _TailElements;
|
||||||
@@ -67,7 +67,7 @@ template<class OBJECT> struct ContainerList
|
|||||||
|
|
||||||
/* TypeNull is underfined */
|
/* TypeNull is underfined */
|
||||||
template<> struct ContainerList<TypeNull> { };
|
template<> struct ContainerList<TypeNull> { };
|
||||||
template<class H, class T> struct ContainerList<TypeList<H, T> >
|
template<class H, class T> struct ContainerList<TypeList<H, T>>
|
||||||
{
|
{
|
||||||
ContainerList<H> _elements;
|
ContainerList<H> _elements;
|
||||||
ContainerMapList<T> _TailElements;
|
ContainerMapList<T> _TailElements;
|
||||||
|
|||||||
@@ -36,12 +36,12 @@ namespace acore
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class SPECIFIC_TYPE, class T> size_t Count(const ContainerMapList<TypeList<SPECIFIC_TYPE, T> >& elements, SPECIFIC_TYPE* fake)
|
template<class SPECIFIC_TYPE, class T> size_t Count(const ContainerMapList<TypeList<SPECIFIC_TYPE, T>>& elements, SPECIFIC_TYPE* fake)
|
||||||
{
|
{
|
||||||
return Count(elements._elements, fake);
|
return Count(elements._elements, fake);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class SPECIFIC_TYPE, class H, class T> size_t Count(const ContainerMapList<TypeList<H, T> >& elements, SPECIFIC_TYPE* fake)
|
template<class SPECIFIC_TYPE, class H, class T> size_t Count(const ContainerMapList<TypeList<H, T>>& elements, SPECIFIC_TYPE* fake)
|
||||||
{
|
{
|
||||||
return Count(elements._TailElements, fake);
|
return Count(elements._TailElements, fake);
|
||||||
}
|
}
|
||||||
@@ -66,7 +66,7 @@ namespace acore
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Recursion
|
// Recursion
|
||||||
template<class SPECIFIC_TYPE, class H, class T> SPECIFIC_TYPE* Insert(ContainerMapList<TypeList<H, T> >& elements, SPECIFIC_TYPE* obj)
|
template<class SPECIFIC_TYPE, class H, class T> SPECIFIC_TYPE* Insert(ContainerMapList<TypeList<H, T>>& elements, SPECIFIC_TYPE* obj)
|
||||||
{
|
{
|
||||||
SPECIFIC_TYPE* t = Insert(elements._elements, obj);
|
SPECIFIC_TYPE* t = Insert(elements._elements, obj);
|
||||||
return (t != NULL ? t : Insert(elements._TailElements, obj));
|
return (t != NULL ? t : Insert(elements._TailElements, obj));
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ namespace acore
|
|||||||
// non-const find functions
|
// non-const find functions
|
||||||
template<class SPECIFIC_TYPE> CountedPtr<SPECIFIC_TYPE>& Find(ContainerMapList<SPECIFIC_TYPE>& elements, OBJECT_HANDLE hdl, CountedPtr<SPECIFIC_TYPE>* /*fake*/)
|
template<class SPECIFIC_TYPE> CountedPtr<SPECIFIC_TYPE>& Find(ContainerMapList<SPECIFIC_TYPE>& elements, OBJECT_HANDLE hdl, CountedPtr<SPECIFIC_TYPE>* /*fake*/)
|
||||||
{
|
{
|
||||||
typename std::map<OBJECT_HANDLE, CountedPtr<SPECIFIC_TYPE> >::iterator iter = elements._element.find(hdl);
|
typename std::map<OBJECT_HANDLE, CountedPtr<SPECIFIC_TYPE>>::iterator iter = elements._element.find(hdl);
|
||||||
return (iter == elements._element.end() ? NullPtr<SPECIFIC_TYPE>((SPECIFIC_TYPE*)NULL) : iter->second);
|
return (iter == elements._element.end() ? NullPtr<SPECIFIC_TYPE>((SPECIFIC_TYPE*)NULL) : iter->second);
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -63,7 +63,7 @@ namespace acore
|
|||||||
return NullPtr<SPECIFIC_TYPE>((SPECIFIC_TYPE*)NULL);// this is a missed
|
return NullPtr<SPECIFIC_TYPE>((SPECIFIC_TYPE*)NULL);// this is a missed
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class SPECIFIC_TYPE, class H, class T> CountedPtr<SPECIFIC_TYPE>& Find(ContainerMapList<TypeList<H, T> >& elements, OBJECT_HANDLE hdl, CountedPtr<SPECIFIC_TYPE>* fake)
|
template<class SPECIFIC_TYPE, class H, class T> CountedPtr<SPECIFIC_TYPE>& Find(ContainerMapList<TypeList<H, T>>& elements, OBJECT_HANDLE hdl, CountedPtr<SPECIFIC_TYPE>* fake)
|
||||||
{
|
{
|
||||||
CountedPtr<SPECIFIC_TYPE>& t = Find(elements._elements, hdl, fake);
|
CountedPtr<SPECIFIC_TYPE>& t = Find(elements._elements, hdl, fake);
|
||||||
return (!t ? Find(elements._TailElements, hdl, fake) : t);
|
return (!t ? Find(elements._TailElements, hdl, fake) : t);
|
||||||
@@ -86,7 +86,7 @@ namespace acore
|
|||||||
return NullPtr<SPECIFIC_TYPE>((SPECIFIC_TYPE*)NULL);
|
return NullPtr<SPECIFIC_TYPE>((SPECIFIC_TYPE*)NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class SPECIFIC_TYPE, class H, class T> CountedPtr<SPECIFIC_TYPE>& Find(const ContainerMapList<TypeList<H, T> >& elements, OBJECT_HANDLE hdl, CountedPtr<SPECIFIC_TYPE>* fake)
|
template<class SPECIFIC_TYPE, class H, class T> CountedPtr<SPECIFIC_TYPE>& Find(const ContainerMapList<TypeList<H, T>>& elements, OBJECT_HANDLE hdl, CountedPtr<SPECIFIC_TYPE>* fake)
|
||||||
{
|
{
|
||||||
CountedPtr<SPECIFIC_TYPE>& t = Find(elements._elements, hdl, fake);
|
CountedPtr<SPECIFIC_TYPE>& t = Find(elements._elements, hdl, fake);
|
||||||
if (!t)
|
if (!t)
|
||||||
@@ -114,7 +114,7 @@ namespace acore
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Recursion
|
// Recursion
|
||||||
template<class SPECIFIC_TYPE, class H, class T> CountedPtr<SPECIFIC_TYPE>& Insert(ContainerMapList<TypeList<H, T> >& elements, CountedPtr<SPECIFIC_TYPE>& obj, OBJECT_HANDLE hdl)
|
template<class SPECIFIC_TYPE, class H, class T> CountedPtr<SPECIFIC_TYPE>& Insert(ContainerMapList<TypeList<H, T>>& elements, CountedPtr<SPECIFIC_TYPE>& obj, OBJECT_HANDLE hdl)
|
||||||
{
|
{
|
||||||
CountedPtr<SPECIFIC_TYPE>& t = Insert(elements._elements, obj, hdl);
|
CountedPtr<SPECIFIC_TYPE>& t = Insert(elements._elements, obj, hdl);
|
||||||
return (!t ? Insert(elements._TailElements, obj, hdl) : t);
|
return (!t ? Insert(elements._TailElements, obj, hdl) : t);
|
||||||
@@ -123,7 +123,7 @@ namespace acore
|
|||||||
// non-const remove method
|
// non-const remove method
|
||||||
template<class SPECIFIC_TYPE> bool Remove(ContainerMapList<SPECIFIC_TYPE>& elements, CountedPtr<SPECIFIC_TYPE>& obj, OBJECT_HANDLE hdl)
|
template<class SPECIFIC_TYPE> bool Remove(ContainerMapList<SPECIFIC_TYPE>& elements, CountedPtr<SPECIFIC_TYPE>& obj, OBJECT_HANDLE hdl)
|
||||||
{
|
{
|
||||||
typename std::map<OBJECT_HANDLE, CountedPtr<SPECIFIC_TYPE> >::iterator iter = elements._element.find(hdl);
|
typename std::map<OBJECT_HANDLE, CountedPtr<SPECIFIC_TYPE>>::iterator iter = elements._element.find(hdl);
|
||||||
if ( iter != elements._element.end() )
|
if ( iter != elements._element.end() )
|
||||||
{
|
{
|
||||||
elements._element.erase(iter);
|
elements._element.erase(iter);
|
||||||
@@ -144,7 +144,7 @@ namespace acore
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class SPECIFIC_TYPE, class T, class H> bool Remove(ContainerMapList<TypeList<H, T> >& elements, CountedPtr<SPECIFIC_TYPE>& obj, OBJECT_HANDLE hdl)
|
template<class SPECIFIC_TYPE, class T, class H> bool Remove(ContainerMapList<TypeList<H, T>>& elements, CountedPtr<SPECIFIC_TYPE>& obj, OBJECT_HANDLE hdl)
|
||||||
{
|
{
|
||||||
// The head element is bad
|
// The head element is bad
|
||||||
bool t = Remove(elements._elements, obj, hdl);
|
bool t = Remove(elements._elements, obj, hdl);
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ template<class VISITOR, class T> void VisitorHelper(VISITOR& v, ContainerList<T>
|
|||||||
}
|
}
|
||||||
|
|
||||||
// recursion for container list
|
// recursion for container list
|
||||||
template<class VISITOR, class H, class T> void VisitorHelper(VISITOR& v, ContainerList<TypeList<H, T> >& c)
|
template<class VISITOR, class H, class T> void VisitorHelper(VISITOR& v, ContainerList<TypeList<H, T>>& c)
|
||||||
{
|
{
|
||||||
VisitorHelper(v, c._elements);
|
VisitorHelper(v, c._elements);
|
||||||
VisitorHelper(v, c._TailElements);
|
VisitorHelper(v, c._TailElements);
|
||||||
@@ -49,7 +49,7 @@ template<class VISITOR, class T> void VisitorHelper(VISITOR& v, ContainerMapList
|
|||||||
}
|
}
|
||||||
|
|
||||||
// recursion container map list
|
// recursion container map list
|
||||||
template<class VISITOR, class H, class T> void VisitorHelper(VISITOR& v, ContainerMapList<TypeList<H, T> >& c)
|
template<class VISITOR, class H, class T> void VisitorHelper(VISITOR& v, ContainerMapList<TypeList<H, T>>& c)
|
||||||
{
|
{
|
||||||
VisitorHelper(v, c._elements);
|
VisitorHelper(v, c._elements);
|
||||||
VisitorHelper(v, c._TailElements);
|
VisitorHelper(v, c._TailElements);
|
||||||
@@ -64,7 +64,7 @@ template<class VISITOR, class T> void VisitorHelper(VISITOR& v, ContainerArrayLi
|
|||||||
template<class VISITOR> void VisitorHelper(VISITOR& /*v*/, ContainerArrayList<TypeNull>& /*c*/) { }
|
template<class VISITOR> void VisitorHelper(VISITOR& /*v*/, ContainerArrayList<TypeNull>& /*c*/) { }
|
||||||
|
|
||||||
// recursion
|
// recursion
|
||||||
template<class VISITOR, class H, class T> void VisitorHelper(VISITOR& v, ContainerArrayList<TypeList<H, T> >& c)
|
template<class VISITOR, class H, class T> void VisitorHelper(VISITOR& v, ContainerArrayList<TypeList<H, T>>& c)
|
||||||
{
|
{
|
||||||
VisitorHelper(v, c._elements);
|
VisitorHelper(v, c._elements);
|
||||||
VisitorHelper(v, c._TailElements);
|
VisitorHelper(v, c._TailElements);
|
||||||
|
|||||||
@@ -360,7 +360,7 @@ std::string Log::GetTimestampStr()
|
|||||||
|
|
||||||
void Log::outDB(LogTypes type, const char* str)
|
void Log::outDB(LogTypes type, const char* str)
|
||||||
{
|
{
|
||||||
if(!str || std::string(str).empty() || type >= MAX_LOG_TYPES)
|
if (!str || std::string(str).empty() || type >= MAX_LOG_TYPES)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
std::string new_str(str);
|
std::string new_str(str);
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
namespace ACE_Based
|
namespace ACE_Based
|
||||||
{
|
{
|
||||||
template <class T, class LockType, typename StorageType = std::deque<T> >
|
template <class T, class LockType, typename StorageType = std::deque<T>>
|
||||||
class LockedQueue
|
class LockedQueue
|
||||||
{
|
{
|
||||||
//! Lock access to the queue.
|
//! Lock access to the queue.
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ void EventProcessor::AddEvent(BasicEvent* Event, uint64 e_time, bool set_addtime
|
|||||||
|
|
||||||
uint64 EventProcessor::CalculateTime(uint64 t_offset) const
|
uint64 EventProcessor::CalculateTime(uint64 t_offset) const
|
||||||
{
|
{
|
||||||
return(m_time + t_offset);
|
return (m_time + t_offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint64 EventProcessor::CalculateQueueTime(uint64 delay) const
|
uint64 EventProcessor::CalculateQueueTime(uint64 delay) const
|
||||||
|
|||||||
@@ -360,7 +360,7 @@ size_t utf8length(std::string& utf8str)
|
|||||||
{
|
{
|
||||||
return utf8::distance(utf8str.c_str(), utf8str.c_str() + utf8str.size());
|
return utf8::distance(utf8str.c_str(), utf8str.c_str() + utf8str.size());
|
||||||
}
|
}
|
||||||
catch(std::exception const&)
|
catch (std::exception const&)
|
||||||
{
|
{
|
||||||
utf8str.clear();
|
utf8str.clear();
|
||||||
return 0;
|
return 0;
|
||||||
@@ -382,7 +382,7 @@ void utf8truncate(std::string& utf8str, size_t len)
|
|||||||
char* oend = utf8::utf16to8(wstr.c_str(), wstr.c_str() + wstr.size(), &utf8str[0]);
|
char* oend = utf8::utf16to8(wstr.c_str(), wstr.c_str() + wstr.size(), &utf8str[0]);
|
||||||
utf8str.resize(oend - (&utf8str[0])); // remove unused tail
|
utf8str.resize(oend - (&utf8str[0])); // remove unused tail
|
||||||
}
|
}
|
||||||
catch(std::exception const&)
|
catch (std::exception const&)
|
||||||
{
|
{
|
||||||
utf8str.clear();
|
utf8str.clear();
|
||||||
}
|
}
|
||||||
@@ -397,7 +397,7 @@ bool Utf8toWStr(char const* utf8str, size_t csize, wchar_t* wstr, size_t& wsize)
|
|||||||
wsize -= out.remaining(); // remaining unused space
|
wsize -= out.remaining(); // remaining unused space
|
||||||
wstr[wsize] = L'\0';
|
wstr[wsize] = L'\0';
|
||||||
}
|
}
|
||||||
catch(std::exception const&)
|
catch (std::exception const&)
|
||||||
{
|
{
|
||||||
// Replace the converted string with an error message if there is enough space
|
// Replace the converted string with an error message if there is enough space
|
||||||
// Otherwise just return an empty string
|
// Otherwise just return an empty string
|
||||||
@@ -429,7 +429,7 @@ bool Utf8toWStr(const std::string& utf8str, std::wstring& wstr)
|
|||||||
{
|
{
|
||||||
utf8::utf8to16(utf8str.c_str(), utf8str.c_str() + utf8str.size(), std::back_inserter(wstr));
|
utf8::utf8to16(utf8str.c_str(), utf8str.c_str() + utf8str.size(), std::back_inserter(wstr));
|
||||||
}
|
}
|
||||||
catch(std::exception const&)
|
catch (std::exception const&)
|
||||||
{
|
{
|
||||||
wstr.clear();
|
wstr.clear();
|
||||||
return false;
|
return false;
|
||||||
@@ -452,7 +452,7 @@ bool WStrToUtf8(wchar_t* wstr, size_t size, std::string& utf8str)
|
|||||||
}
|
}
|
||||||
utf8str = utf8str2;
|
utf8str = utf8str2;
|
||||||
}
|
}
|
||||||
catch(std::exception const&)
|
catch (std::exception const&)
|
||||||
{
|
{
|
||||||
utf8str.clear();
|
utf8str.clear();
|
||||||
return false;
|
return false;
|
||||||
@@ -475,7 +475,7 @@ bool WStrToUtf8(std::wstring const& wstr, std::string& utf8str)
|
|||||||
}
|
}
|
||||||
utf8str = utf8str2;
|
utf8str = utf8str2;
|
||||||
}
|
}
|
||||||
catch(std::exception const&)
|
catch (std::exception const&)
|
||||||
{
|
{
|
||||||
utf8str.clear();
|
utf8str.clear();
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
#include <map>
|
#include <map>
|
||||||
#include <ace/INET_Addr.h>
|
#include <ace/INET_Addr.h>
|
||||||
|
|
||||||
// Searcher for map of structs
|
// Searcher for map of structs
|
||||||
template<typename T, class S> struct Finder
|
template<typename T, class S> struct Finder
|
||||||
{
|
{
|
||||||
T val_;
|
T val_;
|
||||||
@@ -440,7 +440,7 @@ public:
|
|||||||
part[0] == right.part[0] &&
|
part[0] == right.part[0] &&
|
||||||
part[1] == right.part[1] &&
|
part[1] == right.part[1] &&
|
||||||
part[2] == right.part[2]
|
part[2] == right.part[2]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool operator!=(flag96 const& right) const
|
inline bool operator!=(flag96 const& right) const
|
||||||
@@ -541,20 +541,20 @@ bool CompareValues(ComparisionType type, T val1, T val2)
|
|||||||
{
|
{
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case COMP_TYPE_EQ:
|
case COMP_TYPE_EQ:
|
||||||
return val1 == val2;
|
return val1 == val2;
|
||||||
case COMP_TYPE_HIGH:
|
case COMP_TYPE_HIGH:
|
||||||
return val1 > val2;
|
return val1 > val2;
|
||||||
case COMP_TYPE_LOW:
|
case COMP_TYPE_LOW:
|
||||||
return val1 < val2;
|
return val1 < val2;
|
||||||
case COMP_TYPE_HIGH_EQ:
|
case COMP_TYPE_HIGH_EQ:
|
||||||
return val1 >= val2;
|
return val1 >= val2;
|
||||||
case COMP_TYPE_LOW_EQ:
|
case COMP_TYPE_LOW_EQ:
|
||||||
return val1 <= val2;
|
return val1 <= val2;
|
||||||
default:
|
default:
|
||||||
// incorrect parameter
|
// incorrect parameter
|
||||||
ABORT();
|
ABORT();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user