libkazv
room-model.hpp File Reference
#include <libkazv-config.hpp>
#include <string>
#include <variant>
#include <immer/flex_vector.hpp>
#include <immer/map.hpp>
#include <serialization/immer-flex-vector.hpp>
#include <serialization/immer-box.hpp>
#include <serialization/immer-map.hpp>
#include <serialization/immer-array.hpp>
#include <csapi/sync.hpp>
#include <event.hpp>
#include <crypto.hpp>
#include "push-rules-desc.hpp"
#include "local-echo.hpp"
#include "clientutil.hpp"
Include dependency graph for room-model.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Kazv::PendingRoomKeyEvent
 
struct  Kazv::ReadReceipt
 
struct  Kazv::EventReader
 
struct  Kazv::AddStateEventsAction
 
struct  Kazv::MaybeAddStateEventsAction
 Go from the back of stateEvents to the beginning, adding the event to room state only if the room has no state event with that state key. More...
 
struct  Kazv::AddToTimelineAction
 
struct  Kazv::AddAccountDataAction
 
struct  Kazv::ChangeMembershipAction
 
struct  Kazv::ChangeInviteStateAction
 
struct  Kazv::AddEphemeralAction
 
struct  Kazv::SetLocalDraftAction
 
struct  Kazv::SetRoomEncryptionAction
 
struct  Kazv::MarkMembersFullyLoadedAction
 
struct  Kazv::SetHeroIdsAction
 
struct  Kazv::AddLocalEchoAction
 
struct  Kazv::RemoveLocalEchoAction
 
struct  Kazv::AddPendingRoomKeyAction
 
struct  Kazv::RemovePendingRoomKeyAction
 
struct  Kazv::UpdateJoinedMemberCountAction
 
struct  Kazv::UpdateInvitedMemberCountAction
 
struct  Kazv::AddLocalNotificationsAction
 Update local notifications to include the new events. More...
 
struct  Kazv::RemoveReadLocalNotificationsAction
 Remove local notifications that are already read. More...
 
struct  Kazv::UpdateLocalReadMarkerAction
 Update the local read marker, removing any read notifications before it. More...
 
struct  Kazv::RoomModel
 
struct  Kazv::UpdateRoomAction
 
struct  Kazv::RoomListModel
 

Namespaces

 Kazv
 

Typedefs

using Kazv::RoomAction = RoomModel::Action
 
using Kazv::RoomListAction = RoomListModel::Action
 

Functions

PendingRoomKeyEvent Kazv::makePendingRoomKeyEventV0 (std::string txnId, Event event, immer::map< std::string, immer::flex_vector< std::string >> devices)
 
template<class Archive >
void Kazv::serialize (Archive &ar, ReadReceipt &r, std::uint32_t const)
 
bool Kazv::operator== (const ReadReceipt &a, const ReadReceipt &b)
 
bool Kazv::operator!= (const ReadReceipt &a, const ReadReceipt &b)
 
bool Kazv::operator== (const EventReader &a, const EventReader &b)
 
bool Kazv::operator!= (const EventReader &a, const EventReader &b)
 
bool Kazv::operator== (const PendingRoomKeyEvent &a, const PendingRoomKeyEvent &b)
 
bool Kazv::operator!= (const PendingRoomKeyEvent &a, const PendingRoomKeyEvent &b)
 
template<class Archive >
void Kazv::serialize (Archive &ar, PendingRoomKeyEvent &e, std::uint32_t const version)
 
auto Kazv::sortKeyForTimelineEvent (Event e) -> std::tuple< Timestamp, std::string >
 Get the sort key for a timeline event. More...
 
bool Kazv::operator== (const RoomModel &a, const RoomModel &b)
 
bool Kazv::operator== (const RoomListModel &a, const RoomListModel &b)
 
template<class Archive >
void Kazv::serialize (Archive &ar, RoomModel &r, std::uint32_t const version)
 
template<class Archive >
void Kazv::serialize (Archive &ar, RoomListModel &l, std::uint32_t const)
 

Variables

const double Kazv::ROOM_TAG_DEFAULT_ORDER = 2