54 lines
1.3 KiB
C++
54 lines
1.3 KiB
C++
/*
|
|
* File: Roster.h
|
|
* Author: jgaebler
|
|
*
|
|
* Created on July 29, 2010, 2:43 PM
|
|
*/
|
|
#pragma once
|
|
|
|
#ifndef ROSTER_H
|
|
#define ROSTER_H
|
|
|
|
#include "common/Defines.h"
|
|
#include "MemberDescription.h"
|
|
#include "MemberDescriptionList.h"
|
|
|
|
namespace ubeeme {
|
|
namespace moversight {
|
|
|
|
/**
|
|
* @brief Provides a roster class. A roster describes a list of peers involved with the current group composition.
|
|
* @class Roster
|
|
* @ingroup Moversight
|
|
* @author Jan Gäbler, Robert Noack
|
|
*/
|
|
class Roster {
|
|
public:
|
|
Roster();
|
|
Roster(const Roster & orig);
|
|
virtual ~Roster();
|
|
|
|
void setViewID( const ViewID& vid);
|
|
ViewID getViewID() const;
|
|
|
|
void setNextPeerID( const PeerID& pId);
|
|
PeerID getNextPeerID() const;
|
|
|
|
void addMemberDescription(const MemberDescription& desc);
|
|
const MemberDescription& getMemberDescription( const size_t index) const;
|
|
|
|
void setMemberDescriptionList(const MemberDescriptionList & aList);
|
|
const MemberDescriptionList & getMemberDescriptionList() const;
|
|
|
|
size_t size() const;
|
|
|
|
private:
|
|
MemberDescriptionList list;
|
|
PeerID nextPeerId;
|
|
ViewID viewID;
|
|
};
|
|
}
|
|
}
|
|
#endif /* ROSTER_H */
|
|
|