1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-25 14:07:46 +00:00

Added a linkshell representation class

This commit is contained in:
Mordred 2017-08-27 02:04:04 +02:00
parent ebd11f1a7c
commit c9c86dacef
2 changed files with 157 additions and 0 deletions

View file

@ -0,0 +1,95 @@
#include "Linkshell.h"
Core::Linkshell::Linkshell( uint32_t id,
const std::string &name,
uint32_t masterId,
const std::set<uint32_t> &members,
const std::set<uint32_t> &leaders,
const std::set<uint32_t> &invites ) :
m_linkshellId( id ),
m_name( name ),
m_masterCharacterId( masterId ),
m_memberIds( members ),
m_leaderIds( leaders ),
m_inviteIds( invites )
{
}
uint32_t Core::Linkshell::getId() const
{
return m_linkshellId;
}
uint32_t Core::Linkshell::getMasterId() const
{
return m_masterCharacterId;
}
const std::set< uint32_t >& Core::Linkshell::getMemberIdList() const
{
return m_memberIds;
}
std::set< uint32_t >& Core::Linkshell::getMemberIdList()
{
return m_memberIds;
}
const std::string& Core::Linkshell::getName() const
{
return m_name;
}
const std::set< uint32_t >& Core::Linkshell::getLeaderIdList() const
{
return m_leaderIds;
}
std::set< uint32_t >& Core::Linkshell::getLeaderIdList()
{
return m_leaderIds;
}
const std::set< uint32_t >& Core::Linkshell::getInviteIdList() const
{
return m_inviteIds;
}
std::set< uint32_t > &Core::Linkshell::getInviteIdList()
{
return m_inviteIds;
}
void Core::Linkshell::addMember( uint32_t memberId )
{
m_memberIds.insert( memberId );
}
void Core::Linkshell::removeMember( uint32_t memberId )
{
m_memberIds.erase( memberId );
}
void Core::Linkshell::addLeader( uint32_t memberId )
{
m_leaderIds.insert( memberId );
}
void Core::Linkshell::removeLeader( uint32_t memberId )
{
m_leaderIds.erase( memberId );
}
void Core::Linkshell::addInvite( uint32_t memberId )
{
m_inviteIds.insert( memberId );
}
void Core::Linkshell::removeInvite( uint32_t memberId )
{
m_inviteIds.erase( memberId );
}

View file

@ -0,0 +1,62 @@
#ifndef CORE_LINKSHELL_H
#define CORE_LINKSHELL_H
#include <Server_Common/Common.h>
#include <set>
namespace Core
{
class Linkshell
{
private:
/*! unique ID of the linkshell */
uint32_t m_linkshellId;
/*! ID of the master character */
uint32_t m_masterCharacterId;
/*! ID list of all linkshell members */
std::set< uint32_t > m_memberIds;
/*! Name of the linkshell */
std::string m_name;
/*! List of member IDs with leader rank */
std::set< uint32_t > m_leaderIds;
/*! list of IDs of pending character invites */
std::set< uint32_t > m_inviteIds;
public:
Linkshell( uint32_t id,
const std::string& name,
uint32_t masterId,
const std::set< uint32_t >& members,
const std::set< uint32_t >& leaders,
const std::set< uint32_t >& invites );
uint32_t getId() const;
const std::string& getName() const;
uint32_t getMasterId() const;
const std::set< uint32_t >& getMemberIdList() const;
std::set< uint32_t >& getMemberIdList();
const std::set< uint32_t >& getLeaderIdList() const;
std::set< uint32_t >& getLeaderIdList();
const std::set< uint32_t >& getInviteIdList() const;
std::set< uint32_t >& getInviteIdList();
void addMember( uint32_t memberId );
void removeMember( uint32_t memberId );
void addLeader( uint32_t memberId );
void removeLeader( uint32_t memberId );
void addInvite( uint32_t memberId );
void removeInvite( uint32_t memberId );
};
}
#endif //SAPPHIRE_LINKSHELL_H