18#ifndef TRINITYCORE_DB2_HOTFIX_GENERATOR_H
19#define TRINITYCORE_DB2_HOTFIX_GENERATOR_H
22#include <initializer_list>
28 static void LogMissingRecord(std::string
const& storageName,
uint32 recordId);
29 static void AddClientHotfix(
uint32 tableHash,
uint32 recordId);
39 void ApplyHotfix(std::initializer_list<uint32> ids,
void(*fixer)(T*),
bool notifyClient =
false) {
ApplyHotfix({ ids.begin(), ids.end() }, fixer, notifyClient); }
43 void ApplyHotfix(std::span<uint32 const> ids,
void(*fixer)(T*),
bool notifyClient)
47 T
const* entry =
_storage.LookupEntry(
id);
54 fixer(
const_cast<T*
>(entry));
static void AddClientHotfix(uint32 tableHash, uint32 recordId)
static void LogMissingRecord(std::string const &storageName, uint32 recordId)
void ApplyHotfix(uint32 id, void(*fixer)(T *), bool notifyClient=false)
void ApplyHotfix(std::span< uint32 const > ids, void(*fixer)(T *), bool notifyClient)
DB2HotfixGenerator(DB2Storage< T > &storage)
uint32 GetAppliedHotfixesCount() const
DB2Storage< T > & _storage
void ApplyHotfix(std::initializer_list< uint32 > ids, void(*fixer)(T *), bool notifyClient=false)