Implementing automatic kick of players after a certain timeout within a game.

This commit is contained in:
lotodore
2011-12-16 22:39:24 +00:00
parent 91b3307584
commit 0a8cd1cce4
8 changed files with 51 additions and 27 deletions
+10
View File
@@ -5123,3 +5123,13 @@ bool LocalPlayer::checkIfINeedToShowCards()
return false;
}
void LocalPlayer::markRemoteAction()
{
m_lastRemoteActionTimer.restart();
}
unsigned LocalPlayer::getTimeSecSinceLastRemoteAction() const
{
return m_lastRemoteActionTimer.elapsed().total_seconds();
}
+4 -4
View File
@@ -285,12 +285,11 @@ public:
void setIsKicked(bool kicked);
bool isKicked() const;
unsigned getActionTimeoutCounter() const;
void incrementActionTimeoutCounter();
void resetActionTimeoutCounter();
bool checkIfINeedToShowCards();
void markRemoteAction();
unsigned getTimeSecSinceLastRemoteAction() const;
private:
ConfigFile *myConfig;
@@ -336,6 +335,7 @@ private:
unsigned m_actionTimeoutCounter;
bool m_isSessionActive;
bool m_isKicked;
boost::timers::portable::microsec_timer m_lastRemoteActionTimer;
};
#endif
+3
View File
@@ -140,6 +140,9 @@ public:
bool checkIfINeedToShowCards();
void markRemoteAction() {}
unsigned getTimeSecSinceLastRemoteAction() const {return 0;}
private:
mutable boost::recursive_mutex m_syncMutex;
+3
View File
@@ -124,6 +124,9 @@ public:
virtual bool isKicked() const=0;
virtual bool checkIfINeedToShowCards() =0;
virtual void markRemoteAction() =0;
virtual unsigned getTimeSecSinceLastRemoteAction() const =0;
};
#endif