~singpolyma/biboumi

dd343609d561c95a3231ab9db26d44dec6395a6f — louiz’ 5 years ago f9a6f97
Only send the IRC server presence if the user has this JID in their roster
1 files changed, 10 insertions(+), 2 deletions(-)

M src/xmpp/biboumi_component.cpp
M src/xmpp/biboumi_component.cpp => src/xmpp/biboumi_component.cpp +10 -2
@@ 1025,12 1025,20 @@ void BiboumiComponent::send_presence_to_contact(const std::string& from, const s

void BiboumiComponent::on_irc_client_connected(const std::string& irc_hostname, const std::string& jid)
{
  this->send_presence_to_contact(irc_hostname + "@" + this->served_hostname, jid, "");
#ifdef USE_DATABASE
  const auto local_jid = irc_hostname + "@" + this->served_hostname;
  if (Database::has_roster_item(local_jid, jid))
    this->send_presence_to_contact(local_jid, jid, "");
#endif
}

void BiboumiComponent::on_irc_client_disconnected(const std::string& irc_hostname, const std::string& jid)
{
  this->send_presence_to_contact(irc_hostname + "@" + this->served_hostname, jid, "unavailable");
#ifdef USE_DATABASE
  const auto local_jid = irc_hostname + "@" + this->served_hostname;
  if (Database::has_roster_item(local_jid, jid))
    this->send_presence_to_contact(irc_hostname + "@" + this->served_hostname, jid, "unavailable");
#endif
}

void BiboumiComponent::after_handshake()