Files
2014-06-30 13:58:10 +02:00

63 lines
1.8 KiB
C++

#pragma once
#ifndef JOINREQUEST_H
#define JOINREQUEST_H
#include "common/Defines.h"
#include "app/PeerDescription.h"
#include "common/transport/TransportAddress.h"
#include "common/transport/msg/ExteriorMessage.h"
#include "ms/MemberDescription.h"
namespace ubeeme {
namespace moversight {
class Dispatcher;
/**
* @brief Defines a join request message, used within the membership service module.
* @author Jan Gäbler, Robert Noack
* @class JoinRequest
* @ingroup Moversight
*/
class JoinRequest : public ExteriorMessage {
public:
JoinRequest();
JoinRequest(const JoinRequest& other);
virtual ~JoinRequest();
JoinRequest * dup() const;
JoinRequest & operator=(const JoinRequest& other);
void handleReceive(Dispatcher & dis);
const PeerID& getInviterID() const;
void setInviterID( const PeerID& inviterID);
const InvitationID& getInvitationID() const;
void setInvitationID( const InvitationID& invitationID);
int getInviterGroupSize() const;
void setInviterGroupSize( const int inviterGroupSize);
int getStrategy() const;
void setStrategy( const int strategy);
const PeerDescription& getPeerDescription() const;
void setPeerDescription( const PeerDescription& peerDescription);
virtual void set(Archive & archive);
private:
PeerID inviterID;
InvitationID invitationID;
int inviterGroupSize;
int strategy;
PeerDescription peerDescription;
};
}
}
#endif /* JOINREQUEST_H */