Files
scandocs/uni/masterarbeit/source/moversight/ms/msg/RosterMessage.h
2014-06-30 13:58:10 +02:00

61 lines
1.7 KiB
C++

#pragma once
#ifndef ROSTERMESSAGE_H
#define ROSTERMESSAGE_H
#include "common/Defines.h"
#include "app/PeerDescription.h"
#include "common/transport/TransportAddress.h"
#include "common/transport/msg/ExteriorMessage.h"
#include "ms/MemberDescription.h"
#include "ms/MemberDescriptionList.h"
namespace ubeeme {
namespace moversight {
class Dispatcher;
/**
* @brief Defines a roster message, used within the membership service module.
* @author Jan Gäbler, Robert Noack
* @class RosterMessage
* @ingroup Moversight
*/
class RosterMessage : public ExteriorMessage {
public:
RosterMessage();
RosterMessage(const RosterMessage & orig);
virtual ~RosterMessage();
RosterMessage* dup() const;
RosterMessage& operator=(const RosterMessage& other);
void handleReceive(Dispatcher & dis);
// field getter/setter methods
virtual const ViewID& getViewID() const ;
virtual void setViewID(const ViewID& viewID);
virtual const PeerID& getNextPeerID() const;
virtual void setNextPeerID(const PeerID& nextPeerID);
virtual const PeerID& getJoinedPeerID() const;
virtual void setJoinedPeerID(const PeerID& joinedPeerID);
virtual const MemberDescriptionList & getMemberDescriptionList() const;
virtual void setMemberDescriptionList(MemberDescriptionList descList);
virtual void set(Archive & archive);
private:
ViewID viewID;
PeerID nextPeerID;
PeerID joinedPeerID;
MemberDescriptionList mDescList;
};
}
}
#endif /* ROSTERMESSAGE_H */