Ring Daemon
Loading...
Searching...
No Matches
jami::Conversation::Impl Class Reference
Collaboration diagram for jami::Conversation::Impl:
Collaboration graph

Classes

struct  TrackedMember
 

Public Member Functions

void addGitSocket (const DeviceId &deviceId, const std::shared_ptr< dhtnet::ChannelSocket > &socket)
 
std::vector< std::shared_ptr< libjami::SwarmMessage > > addToHistory (History &history, const std::vector< std::map< std::string, std::string > > &commits, bool messageReceived=false, bool commitFromSelf=false)
 
void announce (const std::string &commitId, bool commitFromSelf=false)
 
void announce (const std::vector< std::map< std::string, std::string > > &commits, bool commitFromSelf=false)
 
void announce (const std::vector< std::string > &commits, bool commitFromSelf=false)
 
std::string_view bannedType (const std::string &uri) const
 
std::vector< std::string > commitsEndedCalls ()
 If, for whatever reason, the daemon is stopped while hosting a conference, we need to announce the end of this call when restarting.
 
void disconnectFromPeer (const std::string &peerUri)
 Remove all git sockets and all DRT nodes associated with the given peer.
 
std::vector< std::map< std::string, std::string > > getConnectivity () const
 
std::vector< std::map< std::string, std::string > > getMembers (bool includeInvited, bool includeLeft) const
 
std::vector< std::map< std::string, std::string > > getMembers (bool includeInvited, bool includeLeft, bool includeBanned) const
 
std::vector< std::map< std::string, std::string > > getTrackedMembers () const
 
std::shared_ptr< dhtnet::ChannelSocket > gitSocket (const DeviceId &deviceId) const
 
void handleEdition (History &history, const std::shared_ptr< libjami::SwarmMessage > &sharedCommit, bool messageReceived) const
 
bool handleMessage (History &history, const std::shared_ptr< libjami::SwarmMessage > &sharedCommit, bool messageReceived) const
 
void handleReaction (History &history, const std::shared_ptr< libjami::SwarmMessage > &sharedCommit) const
 
 Impl (const std::shared_ptr< JamiAccount > &account, const std::string &conversationId)
 
 Impl (const std::shared_ptr< JamiAccount > &account, const std::string &remoteDevice, const std::string &conversationId)
 
 Impl (const std::shared_ptr< JamiAccount > &account, ConversationMode mode, const std::string &otherMember="")
 
void initActiveCalls (const std::vector< std::map< std::string, std::string > > &commits) const
 Initialize activeCalls_ from the list of commits in the repository.
 
bool isAdmin () const
 
void loadActiveCalls () const
 
void loadHostedCalls () const
 
std::vector< libjami::SwarmMessageloadMessages (const LogOptions &options, History *optHistory=nullptr)
 
void loadStatus ()
 
void monitorConnection (std::weak_ptr< Conversation > w)
 
void onConnectionFailed (const DeviceId &deviceId, const std::string &memberUri="")
 
void pull (const std::string &deviceId)
 
void rectifyStatus (const std::shared_ptr< libjami::SwarmMessage > &message, History &history) const
 
void removeGitSocket (const DeviceId &deviceId)
 
void rotateTrackedMembers (const std::string &memberUri="", const DeviceId &deviceId={})
 
void saveActiveCalls () const
 
void saveHostedCalls () const
 
void saveStatus ()
 
void setupMemberCallback ()
 
void startTracking (std::weak_ptr< Conversation > w)
 
void stopTracking ()
 
std::string toString () const
 
void updateActiveCalls (const std::map< std::string, std::string > &commit, bool eraseOnly=false, bool emitSig=true) const
 Update activeCalls_ via announced commits (in load or via new commits)
 
void updateStatus (const std::string &uri, libjami::Account::MessageStates status, const std::string &commitId, const std::string &ts, bool emit=false)
 
void voteUnban (const std::string &contactUri, const std::string_view type, const OnDoneCb &cb)
 
 ~Impl ()
 

Public Attributes

const std::weak_ptr< JamiAccountaccount_
 
const std::string accountId_
 
std::vector< std::map< std::string, std::string > > activeCalls_ {}
 
std::mutex activeCallsMtx_ {}
 
std::filesystem::path activeCallsPath_ {}
 
std::function< void()> bootstrapCb_
 
std::mutex bootstrapMtx_ {}
 
const std::filesystem::path conversationDataPath_ {}
 
const std::string deviceId_
 
const std::filesystem::path fetchedPath_ {}
 
std::map< std::string, std::deque< std::pair< std::string, OnPullCb > > > fetchingRemotes_ {}
 
std::string fmtStr_
 
std::map< std::string, std::map< std::string, int32_t > > futureStatus
 
GitSocketList gitSocketList_ {}
 
std::map< std::string, uint64_thostedCalls_ {}
 
std::filesystem::path hostedCallsPath_ {}
 
const std::shared_ptr< asio::io_context > ioContext_
 
std::atomic_bool isRemoving_ {false}
 
bool isTracking_ {false}
 
History loadedHistory_ {}
 Loaded history represents the linearized history to show for clients.
 
std::map< std::string, int32_tmemberToStatus
 Status: 0 = commited, 1 = fetched, 2 = read This cache the curent status to add in the messages.
 
std::map< std::string, std::map< std::string, std::string > > messagesStatus_ {}
 
std::function< void(const std::map< std::string, std::map< std::string, std::string > > &)> messageStatusCb_ {}
 
std::mutex messageStatusMtx_
 {uri, { {"fetch", "commitId"}, {"fetched_ts", "timestamp"}, {"read", "commitId"}, {"read_ts", "timestamp"} } }
 
OnMembersChanged onMembersChanged_ {}
 
const std::filesystem::path preferencesPath_ {}
 
uint64_t presenceDeviceListenerToken_ {0}
 
std::mutex pullcbsMtx_ {}
 
const std::filesystem::path repoPath_ {}
 
const std::unique_ptr< ConversationRepositoryrepository_
 
const std::filesystem::path sendingPath_ {}
 
const std::filesystem::path statusPath_ {}
 
const std::shared_ptr< SwarmManagerswarmManager_
 
std::map< std::string, TrackedMembertrackedMembers_
 
std::mutex trackedMembersMtx_
 
const std::shared_ptr< TransferManagertransferManager_ {}
 
std::shared_ptr< Typerstypers_
 
const std::string userId_
 
std::mutex writeMtx_ {}
 

Detailed Description

Definition at line 150 of file conversation.cpp.

Constructor & Destructor Documentation

◆ Impl() [1/3]

jami::Conversation::Impl::Impl ( const std::shared_ptr< JamiAccount > &  account,
ConversationMode  mode,
const std::string &  otherMember = "" 
)
inline

Definition at line 196 of file conversation.cpp.

◆ Impl() [2/3]

jami::Conversation::Impl::Impl ( const std::shared_ptr< JamiAccount > &  account,
const std::string &  conversationId 
)
inline

Definition at line 200 of file conversation.cpp.

◆ Impl() [3/3]

jami::Conversation::Impl::Impl ( const std::shared_ptr< JamiAccount > &  account,
const std::string &  remoteDevice,
const std::string &  conversationId 
)
inline

Definition at line 204 of file conversation.cpp.

◆ ~Impl()

jami::Conversation::Impl::~Impl ( )
inline

Definition at line 220 of file conversation.cpp.

References stopTracking().

Here is the call graph for this function:

Member Function Documentation

◆ addGitSocket()

void jami::Conversation::Impl::addGitSocket ( const DeviceId deviceId,
const std::shared_ptr< dhtnet::ChannelSocket > &  socket 
)
inline

Definition at line 555 of file conversation.cpp.

References gitSocketList_.

◆ addToHistory()

std::vector< std::shared_ptr< libjami::SwarmMessage > > jami::Conversation::Impl::addToHistory ( History history,
const std::vector< std::map< std::string, std::string > > &  commits,
bool  messageReceived = false,
bool  commitFromSelf = false 
)

Definition at line 1269 of file conversation.cpp.

References libjami::Account::DISPLAYED, jami::emitSignal(), libjami::Account::SENDING, and libjami::Account::SENT.

Referenced by announce().

Here is the call graph for this function:

◆ announce() [1/3]

void jami::Conversation::Impl::announce ( const std::string &  commitId,
bool  commitFromSelf = false 
)
inline

Definition at line 230 of file conversation.cpp.

References announce(), and jami::emitSignal().

Referenced by announce(), announce(), and voteUnban().

Here is the call graph for this function:

◆ announce() [2/3]

void jami::Conversation::Impl::announce ( const std::vector< std::map< std::string, std::string > > &  commits,
bool  commitFromSelf = false 
)
inline

◆ announce() [3/3]

void jami::Conversation::Impl::announce ( const std::vector< std::string > &  commits,
bool  commitFromSelf = false 
)
inline

Definition at line 238 of file conversation.cpp.

References announce(), jami::emitSignal(), and repository_.

Here is the call graph for this function:

◆ bannedType()

std::string_view jami::Conversation::Impl::bannedType ( const std::string &  uri) const
inline

◆ commitsEndedCalls()

std::vector< std::string > jami::Conversation::Impl::commitsEndedCalls ( )

If, for whatever reason, the daemon is stopped while hosting a conference, we need to announce the end of this call when restarting.

To avoid to keep active calls forever.

Definition at line 956 of file conversation.cpp.

References jami::emitSignal(), JAMI_DEBUG, and jami::json::toString().

Here is the call graph for this function:

◆ disconnectFromPeer()

void jami::Conversation::Impl::disconnectFromPeer ( const std::string &  peerUri)

Remove all git sockets and all DRT nodes associated with the given peer.

This is used when a swarm member is banned to ensure that we stop syncing with them or sending them message notifications.

Definition at line 890 of file conversation.cpp.

References jami::emitSignal().

Here is the call graph for this function:

◆ getConnectivity()

std::vector< std::map< std::string, std::string > > jami::Conversation::Impl::getConnectivity ( ) const
inline

Definition at line 213 of file conversation.cpp.

References swarmManager_.

◆ getMembers() [1/2]

std::vector< std::map< std::string, std::string > > jami::Conversation::Impl::getMembers ( bool  includeInvited,
bool  includeLeft 
) const

◆ getMembers() [2/2]

std::vector< std::map< std::string, std::string > > jami::Conversation::Impl::getMembers ( bool  includeInvited,
bool  includeLeft,
bool  includeBanned 
) const

Definition at line 910 of file conversation.cpp.

References jami::BANNED, jami::emitSignal(), jami::INVITED, jami::ConversationMapKeys::LAST_DISPLAYED, and jami::LEFT.

Here is the call graph for this function:

◆ getTrackedMembers()

std::vector< std::map< std::string, std::string > > jami::Conversation::Impl::getTrackedMembers ( ) const

Definition at line 936 of file conversation.cpp.

References jami::emitSignal().

Here is the call graph for this function:

◆ gitSocket()

std::shared_ptr< dhtnet::ChannelSocket > jami::Conversation::Impl::gitSocket ( const DeviceId deviceId) const
inline

Definition at line 549 of file conversation.cpp.

References jami::emitSignal(), and gitSocketList_.

Here is the call graph for this function:

◆ handleEdition()

void jami::Conversation::Impl::handleEdition ( History history,
const std::shared_ptr< libjami::SwarmMessage > &  sharedCommit,
bool  messageReceived 
) const

Definition at line 1127 of file conversation.cpp.

References jami::emitSignal().

Here is the call graph for this function:

◆ handleMessage()

bool jami::Conversation::Impl::handleMessage ( History history,
const std::shared_ptr< libjami::SwarmMessage > &  sharedCommit,
bool  messageReceived 
) const

Definition at line 1197 of file conversation.cpp.

References jami::emitSignal().

Here is the call graph for this function:

◆ handleReaction()

void jami::Conversation::Impl::handleReaction ( History history,
const std::shared_ptr< libjami::SwarmMessage > &  sharedCommit 
) const

Definition at line 1104 of file conversation.cpp.

References jami::emitSignal().

Here is the call graph for this function:

◆ initActiveCalls()

void jami::Conversation::Impl::initActiveCalls ( const std::vector< std::map< std::string, std::string > > &  commits) const
inline

Initialize activeCalls_ from the list of commits in the repository.

Parameters
commitsCommits in reverse chronological order (i.e. from newest to oldest)

Definition at line 254 of file conversation.cpp.

References accountId_, activeCalls_, activeCallsMtx_, jami::emitSignal(), repository_, and saveActiveCalls().

Here is the call graph for this function:

◆ isAdmin()

bool jami::Conversation::Impl::isAdmin ( ) const

Definition at line 883 of file conversation.cpp.

References jami::MemberPath::ADMINS, jami::emitSignal(), and jami::fileutils::getFullPath().

Referenced by voteUnban().

Here is the call graph for this function:

◆ loadActiveCalls()

void jami::Conversation::Impl::loadActiveCalls ( ) const
inline

Definition at line 483 of file conversation.cpp.

References activeCalls_, activeCallsMtx_, activeCallsPath_, jami::emitSignal(), and jami::fileutils::loadFile().

Here is the call graph for this function:

◆ loadHostedCalls()

void jami::Conversation::Impl::loadHostedCalls ( ) const
inline

Definition at line 503 of file conversation.cpp.

References activeCallsMtx_, jami::emitSignal(), hostedCalls_, hostedCallsPath_, and jami::fileutils::loadFile().

Here is the call graph for this function:

◆ loadMessages()

std::vector< libjami::SwarmMessage > jami::Conversation::Impl::loadMessages ( const LogOptions options,
History optHistory = nullptr 
)

Definition at line 994 of file conversation.cpp.

References jami::Break, jami::emitSignal(), jami::Ok, and jami::Skip.

Here is the call graph for this function:

◆ loadStatus()

void jami::Conversation::Impl::loadStatus ( )
inline

Definition at line 465 of file conversation.cpp.

References jami::emitSignal(), jami::fileutils::loadFile(), messagesStatus_, messageStatusMtx_, and statusPath_.

Here is the call graph for this function:

◆ monitorConnection()

void jami::Conversation::Impl::monitorConnection ( std::weak_ptr< Conversation w)

Definition at line 848 of file conversation.cpp.

References jami::emitSignal().

Here is the call graph for this function:

◆ onConnectionFailed()

void jami::Conversation::Impl::onConnectionFailed ( const DeviceId deviceId,
const std::string &  memberUri = "" 
)

Definition at line 842 of file conversation.cpp.

References jami::emitSignal().

Here is the call graph for this function:

◆ pull()

void jami::Conversation::Impl::pull ( const std::string &  deviceId)

Definition at line 1849 of file conversation.cpp.

References jami::emitSignal(), JAMI_ERROR, and JAMI_WARNING.

Here is the call graph for this function:

◆ rectifyStatus()

void jami::Conversation::Impl::rectifyStatus ( const std::shared_ptr< libjami::SwarmMessage > &  message,
History history 
) const

Definition at line 1243 of file conversation.cpp.

References jami::emitSignal().

Here is the call graph for this function:

◆ removeGitSocket()

void jami::Conversation::Impl::removeGitSocket ( const DeviceId deviceId)
inline

Definition at line 559 of file conversation.cpp.

References jami::emitSignal(), and gitSocketList_.

Here is the call graph for this function:

◆ rotateTrackedMembers()

void jami::Conversation::Impl::rotateTrackedMembers ( const std::string &  memberUri = "",
const DeviceId deviceId = {} 
)

Definition at line 774 of file conversation.cpp.

References jami::emitSignal(), jami::Manager::getSeededRandomEngine(), jami::Manager::instance(), JAMI_WARNING, and jami::toString().

Here is the call graph for this function:

◆ saveActiveCalls()

void jami::Conversation::Impl::saveActiveCalls ( ) const
inline

Definition at line 497 of file conversation.cpp.

References activeCalls_, activeCallsPath_, and jami::emitSignal().

Referenced by initActiveCalls(), and updateActiveCalls().

Here is the call graph for this function:

◆ saveHostedCalls()

void jami::Conversation::Impl::saveHostedCalls ( ) const
inline

Definition at line 517 of file conversation.cpp.

References jami::emitSignal(), hostedCalls_, and hostedCallsPath_.

Here is the call graph for this function:

◆ saveStatus()

void jami::Conversation::Impl::saveStatus ( )
inline

Definition at line 477 of file conversation.cpp.

References jami::emitSignal(), messagesStatus_, and statusPath_.

Here is the call graph for this function:

◆ setupMemberCallback()

void jami::Conversation::Impl::setupMemberCallback ( )

Definition at line 689 of file conversation.cpp.

References account_, jami::emitSignal(), isTracking_, jami::Conversation::memberUris(), onMembersChanged_, repository_, trackedMembers_, and trackedMembersMtx_.

Here is the call graph for this function:

◆ startTracking()

void jami::Conversation::Impl::startTracking ( std::weak_ptr< Conversation w)

Definition at line 714 of file conversation.cpp.

References jami::emitSignal().

Here is the call graph for this function:

◆ stopTracking()

void jami::Conversation::Impl::stopTracking ( )

Definition at line 739 of file conversation.cpp.

References _, account_, jami::emitSignal(), isTracking_, presenceDeviceListenerToken_, trackedMembers_, and trackedMembersMtx_.

Referenced by ~Impl().

Here is the call graph for this function:

◆ toString()

std::string jami::Conversation::Impl::toString ( ) const
inline

Definition at line 208 of file conversation.cpp.

References accountId_, jami::emitSignal(), and repository_.

Here is the call graph for this function:

◆ updateActiveCalls()

void jami::Conversation::Impl::updateActiveCalls ( const std::map< std::string, std::string > &  commit,
bool  eraseOnly = false,
bool  emitSig = true 
) const
inline

Update activeCalls_ via announced commits (in load or via new commits)

Parameters
commitCommit to check
eraseOnlyIf we want to ignore added commits
emitSigIf we want to emit to client
Note
eraseOnly is used by loadMessages. This is a fail-safe, this SHOULD NOT happen

Definition at line 310 of file conversation.cpp.

References accountId_, activeCalls_, activeCallsMtx_, jami::emitSignal(), JAMI_DEBUG, JAMI_ERROR, JAMI_WARNING, repository_, and saveActiveCalls().

Referenced by announce().

Here is the call graph for this function:

◆ updateStatus()

void jami::Conversation::Impl::updateStatus ( const std::string &  uri,
libjami::Account::MessageStates  status,
const std::string &  commitId,
const std::string &  ts,
bool  emit = false 
)

Definition at line 2212 of file conversation.cpp.

References _, jami::emitSignal(), jami::Conversation::loadMessages(), and libjami::Account::SENT.

Here is the call graph for this function:

◆ voteUnban()

void jami::Conversation::Impl::voteUnban ( const std::string &  contactUri,
const std::string_view  type,
const OnDoneCb cb 
)

Definition at line 1551 of file conversation.cpp.

References announce(), jami::emitSignal(), isAdmin(), JAMI_WARN, repository_, and writeMtx_.

Here is the call graph for this function:

Member Data Documentation

◆ account_

const std::weak_ptr<JamiAccount> jami::Conversation::Impl::account_

Definition at line 583 of file conversation.cpp.

Referenced by setupMemberCallback(), and stopTracking().

◆ accountId_

const std::string jami::Conversation::Impl::accountId_

Definition at line 584 of file conversation.cpp.

Referenced by announce(), initActiveCalls(), toString(), and updateActiveCalls().

◆ activeCalls_

std::vector<std::map<std::string, std::string> > jami::Conversation::Impl::activeCalls_ {}
mutable

◆ activeCallsMtx_

std::mutex jami::Conversation::Impl::activeCallsMtx_ {}
mutable

◆ activeCallsPath_

std::filesystem::path jami::Conversation::Impl::activeCallsPath_ {}

Definition at line 628 of file conversation.cpp.

Referenced by loadActiveCalls(), and saveActiveCalls().

◆ bootstrapCb_

std::function<void()> jami::Conversation::Impl::bootstrapCb_

Definition at line 575 of file conversation.cpp.

◆ bootstrapMtx_

std::mutex jami::Conversation::Impl::bootstrapMtx_ {}

Definition at line 576 of file conversation.cpp.

◆ conversationDataPath_

const std::filesystem::path jami::Conversation::Impl::conversationDataPath_ {}

Definition at line 598 of file conversation.cpp.

◆ deviceId_

const std::string jami::Conversation::Impl::deviceId_

Definition at line 586 of file conversation.cpp.

◆ fetchedPath_

const std::filesystem::path jami::Conversation::Impl::fetchedPath_ {}

Definition at line 599 of file conversation.cpp.

◆ fetchingRemotes_

std::map<std::string, std::deque<std::pair<std::string, OnPullCb> > > jami::Conversation::Impl::fetchingRemotes_ {}

Definition at line 595 of file conversation.cpp.

◆ fmtStr_

std::string jami::Conversation::Impl::fmtStr_
mutable

Definition at line 218 of file conversation.cpp.

◆ futureStatus

std::map<std::string, std::map<std::string, int32_t> > jami::Conversation::Impl::futureStatus

Definition at line 677 of file conversation.cpp.

◆ gitSocketList_

GitSocketList jami::Conversation::Impl::gitSocketList_ {}

Definition at line 632 of file conversation.cpp.

Referenced by addGitSocket(), gitSocket(), and removeGitSocket().

◆ hostedCalls_

std::map<std::string, uint64_t > jami::Conversation::Impl::hostedCalls_ {}
mutable

Definition at line 626 of file conversation.cpp.

Referenced by loadHostedCalls(), and saveHostedCalls().

◆ hostedCallsPath_

std::filesystem::path jami::Conversation::Impl::hostedCallsPath_ {}

Definition at line 625 of file conversation.cpp.

Referenced by loadHostedCalls(), and saveHostedCalls().

◆ ioContext_

const std::shared_ptr<asio::io_context> jami::Conversation::Impl::ioContext_

Definition at line 635 of file conversation.cpp.

◆ isRemoving_

std::atomic_bool jami::Conversation::Impl::isRemoving_ {false}

Definition at line 588 of file conversation.cpp.

◆ isTracking_

bool jami::Conversation::Impl::isTracking_ {false}

Definition at line 614 of file conversation.cpp.

Referenced by setupMemberCallback(), and stopTracking().

◆ loadedHistory_

History jami::Conversation::Impl::loadedHistory_ {}

Loaded history represents the linearized history to show for clients.

Definition at line 640 of file conversation.cpp.

Referenced by announce().

◆ memberToStatus

std::map<std::string, int32_t> jami::Conversation::Impl::memberToStatus

Status: 0 = commited, 1 = fetched, 2 = read This cache the curent status to add in the messages.

Definition at line 673 of file conversation.cpp.

◆ messagesStatus_

std::map<std::string, std::map<std::string, std::string> > jami::Conversation::Impl::messagesStatus_ {}

Definition at line 666 of file conversation.cpp.

Referenced by loadStatus(), and saveStatus().

◆ messageStatusCb_

std::function<void(const std::map<std::string, std::map<std::string, std::string>>&)> jami::Conversation::Impl::messageStatusCb_ {}

Definition at line 665 of file conversation.cpp.

◆ messageStatusMtx_

std::mutex jami::Conversation::Impl::messageStatusMtx_
mutable

{uri, { {"fetch", "commitId"}, {"fetched_ts", "timestamp"}, {"read", "commitId"}, {"read_ts", "timestamp"} } }

Definition at line 664 of file conversation.cpp.

Referenced by loadStatus().

◆ onMembersChanged_

OnMembersChanged jami::Conversation::Impl::onMembersChanged_ {}

Definition at line 606 of file conversation.cpp.

Referenced by announce(), and setupMemberCallback().

◆ preferencesPath_

const std::filesystem::path jami::Conversation::Impl::preferencesPath_ {}

Definition at line 603 of file conversation.cpp.

◆ presenceDeviceListenerToken_

uint64_t jami::Conversation::Impl::presenceDeviceListenerToken_ {0}

Definition at line 622 of file conversation.cpp.

Referenced by stopTracking().

◆ pullcbsMtx_

std::mutex jami::Conversation::Impl::pullcbsMtx_ {}

Definition at line 593 of file conversation.cpp.

◆ repoPath_

const std::filesystem::path jami::Conversation::Impl::repoPath_ {}

Definition at line 597 of file conversation.cpp.

Referenced by bannedType().

◆ repository_

const std::unique_ptr<ConversationRepository> jami::Conversation::Impl::repository_

◆ sendingPath_

const std::filesystem::path jami::Conversation::Impl::sendingPath_ {}

Definition at line 602 of file conversation.cpp.

◆ statusPath_

const std::filesystem::path jami::Conversation::Impl::statusPath_ {}

Definition at line 604 of file conversation.cpp.

Referenced by loadStatus(), and saveStatus().

◆ swarmManager_

const std::shared_ptr<SwarmManager> jami::Conversation::Impl::swarmManager_

Definition at line 587 of file conversation.cpp.

Referenced by getConnectivity().

◆ trackedMembers_

std::map<std::string, TrackedMember> jami::Conversation::Impl::trackedMembers_

Definition at line 612 of file conversation.cpp.

Referenced by setupMemberCallback(), and stopTracking().

◆ trackedMembersMtx_

std::mutex jami::Conversation::Impl::trackedMembersMtx_
mutable

Definition at line 613 of file conversation.cpp.

Referenced by setupMemberCallback(), and stopTracking().

◆ transferManager_

const std::shared_ptr<TransferManager> jami::Conversation::Impl::transferManager_ {}

Definition at line 596 of file conversation.cpp.

◆ typers_

std::shared_ptr<Typers> jami::Conversation::Impl::typers_

Definition at line 685 of file conversation.cpp.

Referenced by announce().

◆ userId_

const std::string jami::Conversation::Impl::userId_

Definition at line 585 of file conversation.cpp.

Referenced by announce().

◆ writeMtx_

std::mutex jami::Conversation::Impl::writeMtx_ {}

Definition at line 581 of file conversation.cpp.

Referenced by voteUnban().


The documentation for this class was generated from the following file: