diff --git a/include/transport/user.h b/include/transport/user.h index 135f82f2d34e72c2277b4140ba04a4bc4a67d0ab..840736c846489b57a842f64f94cc419fd20a889f 100644 --- a/include/transport/user.h +++ b/include/transport/user.h @@ -75,6 +75,14 @@ class User { void handleSubscription(Swift::Presence::ref presence); + time_t &getLastActivity() { + return m_lastActivity; + } + + void updateLastActivity() { + m_lastActivity = time(NULL); + } + /// Returns language. /// \return language const char *getLang() { return "en"; } @@ -87,8 +95,12 @@ class User { void setConnected(bool connected) { m_connected = connected; + setIgnoreDisconnect(false); + updateLastActivity(); } + void setIgnoreDisconnect(bool ignoreDisconnect); + bool isConnected() { return m_connected; } @@ -113,8 +125,10 @@ class User { void *m_data; bool m_connected; bool m_readyForConnect; + bool m_ignoreDisconnect; Swift::Timer::ref m_reconnectTimer; boost::shared_ptr connection; + time_t m_lastActivity; }; }