23#ifndef GCS_VIEW_INCLUDED
24#define GCS_VIEW_INCLUDED
71 explicit Gcs_view(
const std::vector<Gcs_member_identifier> &members,
73 const std::vector<Gcs_member_identifier> &leaving,
74 const std::vector<Gcs_member_identifier> &joined,
86 explicit Gcs_view(
const std::vector<Gcs_member_identifier> &members,
88 const std::vector<Gcs_member_identifier> &leaving,
89 const std::vector<Gcs_member_identifier> &joined,
122 const std::vector<Gcs_member_identifier> &
get_members()
const;
156 bool has_member(
const std::string &member_id)
const;
169 void clone(
const std::vector<Gcs_member_identifier> &members,
171 const std::vector<Gcs_member_identifier> &leaving,
172 const std::vector<Gcs_member_identifier> &joined,
This represents the unique identification of a group.
Definition: gcs_group_identifier.h:34
It represents the identity of a group member within a certain group.
Definition: gcs_member_identifier.h:39
This represents the identification of a certain view of a certain group in a moment in time.
Definition: gcs_view_identifier.h:43
This represents the membership view that a member has from a group.
Definition: gcs_view.h:54
std::vector< Gcs_member_identifier > * m_members
Definition: gcs_view.h:159
Gcs_view_error_code
Define error codes associated to the view.
Definition: gcs_view.h:59
@ OK
Definition: gcs_view.h:59
@ MEMBER_EXPELLED
Definition: gcs_view.h:59
Gcs_view(const std::vector< Gcs_member_identifier > &members, const Gcs_view_identifier &view_id, const std::vector< Gcs_member_identifier > &leaving, const std::vector< Gcs_member_identifier > &joined, const Gcs_group_identifier &group_id)
Gcs_view constructor.
Definition: gcs_view.cc:28
std::vector< Gcs_member_identifier > * m_joined
Definition: gcs_view.h:162
const std::vector< Gcs_member_identifier > & get_joined_members() const
Definition: gcs_view.cc:124
bool has_member(const std::string &member_id) const
Definition: gcs_view.cc:145
Gcs_view_identifier * m_view_id
Definition: gcs_view.h:160
const Gcs_view_identifier & get_view_id() const
Definition: gcs_view.cc:109
Gcs_view::Gcs_view_error_code m_error_code
Definition: gcs_view.h:164
void clone(const std::vector< Gcs_member_identifier > &members, const Gcs_view_identifier &view_id, const std::vector< Gcs_member_identifier > &leaving, const std::vector< Gcs_member_identifier > &joined, const Gcs_group_identifier &group_id, Gcs_view::Gcs_view_error_code error_code)
Definition: gcs_view.cc:68
std::vector< Gcs_member_identifier > * m_leaving
Definition: gcs_view.h:161
const Gcs_group_identifier & get_group_id() const
Definition: gcs_view.cc:111
Gcs_view & operator=(Gcs_view const &)
const std::vector< Gcs_member_identifier > & get_leaving_members() const
Definition: gcs_view.cc:119
Gcs_group_identifier * m_group_id
Definition: gcs_view.h:163
virtual ~Gcs_view()
Definition: gcs_view.cc:101
const std::vector< Gcs_member_identifier > & get_members() const
Definition: gcs_view.cc:115
Gcs_view::Gcs_view_error_code get_error_code() const
Definition: gcs_view.cc:128
const Gcs_member_identifier * get_member(const std::string &member_id) const
Definition: gcs_view.cc:132