AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
Guild::LogHolder< Entry > Class Template Reference

Public Member Functions

 LogHolder ()
 
uint32 GetGuildId () const
 
bool CanInsert () const
 
template<typename... Ts>
void LoadEvent (Ts &&... args)
 
template<typename... Ts>
void AddEvent (CharacterDatabaseTransaction trans, Ts &&... args)
 
uint32 GetNextGUID ()
 
std::list< Entry > & GetGuildLog ()
 
std::list< Entry > const & GetGuildLog () const
 

Private Attributes

uint32 m_guildId
 
std::list< Entrym_log
 
uint32 const m_maxRecords
 
uint32 m_nextGUID
 

Detailed Description

template<typename Entry>
class Guild::LogHolder< Entry >

Constructor & Destructor Documentation

◆ LogHolder()

template<typename Entry >
Guild::LogHolder< Entry >::LogHolder ( )
139{ }
std::uint32_t uint32
Definition: Define.h:108
@ GUILD_EVENT_LOG_GUID_UNDEFINED
Definition: Guild.h:53
@ CONFIG_GUILD_EVENT_LOG_COUNT
Definition: IWorld.h:342
@ CONFIG_GUILD_BANK_EVENT_LOG_COUNT
Definition: IWorld.h:343
#define sWorld
Definition: World.h:451
uint32 m_nextGUID
Definition: Guild.h:508
uint32 const m_maxRecords
Definition: Guild.h:507

Member Function Documentation

◆ AddEvent()

template<typename Entry >
template<typename... Ts>
void Guild::LogHolder< Entry >::AddEvent ( CharacterDatabaseTransaction  trans,
Ts &&...  args 
)
151{
152 // Check max records limit
153 if (!CanInsert())
154 {
155 m_log.pop_front();
156 }
157 // Add event to list
158 Entry const& entry = m_log.emplace_back(std::forward<Ts>(args)...);
159 // Save to DB
160 entry.SaveToDB(trans);
161}
uint32 const Entry[3]
Definition: instance_blackwing_lair.cpp:70
std::list< Entry > m_log
Definition: Guild.h:506
bool CanInsert() const
Definition: Guild.h:493

References Entry.

Referenced by Guild::_LogBankEvent().

◆ CanInsert()

template<typename Entry >
bool Guild::LogHolder< Entry >::CanInsert ( ) const
inline

◆ GetGuildId()

template<typename Entry >
uint32 Guild::LogHolder< Entry >::GetGuildId ( ) const
inline
491{ return m_guildId; }
uint32 m_guildId
Definition: Guild.h:505

References Guild::LogHolder< Entry >::m_guildId.

◆ GetGuildLog() [1/2]

template<typename Entry >
std::list< Entry > & Guild::LogHolder< Entry >::GetGuildLog ( )
inline
501{ return m_log; }

References Guild::LogHolder< Entry >::m_log.

◆ GetGuildLog() [2/2]

template<typename Entry >
std::list< Entry > const & Guild::LogHolder< Entry >::GetGuildLog ( ) const
inline
502{ return m_log; }

References Guild::LogHolder< Entry >::m_log.

◆ GetNextGUID()

template<typename Entry >
uint32 Guild::LogHolder< Entry >::GetNextGUID ( )
inline
165{
166 // Next guid was not initialized. It means there are no records for this holder in DB yet.
167 // Start from the beginning.
169 m_nextGUID = 0;
170 else
172
173 return m_nextGUID;
174}

References GUILD_EVENT_LOG_GUID_UNDEFINED.

Referenced by Guild::_LogBankEvent().

◆ LoadEvent()

template<typename Entry >
template<typename... Ts>
void Guild::LogHolder< Entry >::LoadEvent ( Ts &&...  args)
143{
144 Entry const& newEntry = m_log.emplace_front(std::forward<Ts>(args)...);
146 m_nextGUID = newEntry.GetGUID();
147}

References Entry, and GUILD_EVENT_LOG_GUID_UNDEFINED.

Referenced by Guild::LoadBankEventLogFromDB().

Member Data Documentation

◆ m_guildId

template<typename Entry >
uint32 Guild::LogHolder< Entry >::m_guildId
private

◆ m_log

template<typename Entry >
std::list<Entry> Guild::LogHolder< Entry >::m_log
private

◆ m_maxRecords

template<typename Entry >
uint32 const Guild::LogHolder< Entry >::m_maxRecords
private

◆ m_nextGUID

template<typename Entry >
uint32 Guild::LogHolder< Entry >::m_nextGUID
private