diff --git a/src/localbuddy.cpp b/src/localbuddy.cpp index 7f2d642d57b6c8f670dd2b97a4a5c218f1b554a2..47fe2b7f9b4224335649cdcc9d19d1ebd478176e 100644 --- a/src/localbuddy.cpp +++ b/src/localbuddy.cpp @@ -37,6 +37,24 @@ LocalBuddy::LocalBuddy(RosterManager *rosterManager, long id, const std::string LocalBuddy::~LocalBuddy() { } +void LocalBuddy::setStatus(const Swift::StatusShow &status, const std::string &statusMessage) { + bool changed = ((m_status.getType() != status.getType()) || (m_statusMessage != statusMessage)); + if (changed) { + m_status = status; + m_statusMessage = statusMessage; + sendPresence(); + } +} + +void LocalBuddy::setIconHash(const std::string &iconHash) { + bool changed = m_iconHash != iconHash; + m_iconHash = iconHash; + if (changed) { + getRosterManager()->storeBuddy(this); + sendPresence(); + } +} + bool LocalBuddy::setName(const std::string &name) { if (name == m_name) { return true;