summaryrefslogtreecommitdiffstats
path: root/src/CRSMStats.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/CRSMStats.cpp')
-rw-r--r--src/CRSMStats.cpp66
1 files changed, 65 insertions, 1 deletions
diff --git a/src/CRSMStats.cpp b/src/CRSMStats.cpp
index 86c541c..7add773 100644
--- a/src/CRSMStats.cpp
+++ b/src/CRSMStats.cpp
@@ -1,7 +1,71 @@
#include "CRSMStats.hpp"
-CRSMStats::CRSMStats()
+void CRSMStats::AddScenarioWish(const ClientInfo &client, const QString &scenarioFileName)
{
+ Scenarios[scenarioFileName].FileName = scenarioFileName;
+ ++Scenarios[scenarioFileName].Sum.WishCount;
+ ++Scenarios[scenarioFileName].Wishers[client].WishCount;
+ Users[client].Client = client;
+ ++Users[client].ScenarioWishes[scenarioFileName].WishCount;
+ ++Users[client].WishSum.WishCount;
}
+void CRSMStats::AddScenarioStart(const ClientInfo &client, const QString &scenarioFileName)
+{
+ Scenarios[scenarioFileName].FileName = scenarioFileName;
+ ++Scenarios[scenarioFileName].Sum.StartCount;
+ ++Scenarios[scenarioFileName].Wishers[client].StartCount;
+
+ Users[client].Client = client;
+ ++Users[client].ScenarioWishes[scenarioFileName].StartCount;
+ ++Users[client].WishSum.StartCount;
+}
+
+void CRSMStats::AddCommandResult(const ClientInfo &client, const QString &cmd, CmdResult result)
+{
+ Users[client].Client = client;
+
+ if(result != UnknownCommand)
+ {
+ Commands[cmd].Command = cmd;
+ ++Commands[cmd].Sum.UseCount;
+ ++Commands[cmd].Users[client].UseCount;
+
+ ++Users[client].CommandSum.UseCount;
+ ++Users[client].Commands[cmd].UseCount;
+ }
+ else
+ {
+ FailCommands[cmd].Command = cmd;
+ ++FailCommands[cmd].Sum;
+ ++FailCommands[cmd].Users[client];
+
+ ++Users[client].FailCommands[cmd];
+ }
+
+ if(result == Success)
+ {
+ ++Commands[cmd].Sum.SuccessCount;
+ ++Commands[cmd].Users[client].SuccessCount;
+
+ ++Users[client].CommandSum.SuccessCount;
+ ++Users[client].Commands[cmd].SuccessCount;
+ }
+ else if(result == RightsFail)
+ {
+ ++Commands[cmd].Sum.RightsFailCount;
+ ++Commands[cmd].Users[client].RightsFailCount;
+
+ ++Users[client].CommandSum.RightsFailCount;
+ ++Users[client].Commands[cmd].RightsFailCount;
+ }
+ else if(result == SyntaxFail)
+ {
+ ++Commands[cmd].Sum.SyntaxFailCount;
+ ++Commands[cmd].Users[client].SyntaxFailCount;
+
+ ++Users[client].CommandSum.SyntaxFailCount;
+ ++Users[client].Commands[cmd].SyntaxFailCount;
+ }
+}