--- smsdaemon/SmsDaemon.cpp 2008/06/16 09:04:05 88 +++ smsdaemon/SmsDaemon.cpp 2008/12/07 00:59:05 132 @@ -3,6 +3,8 @@ #include #include +#include + #include "common.h" #include "GsmModem.h" @@ -12,8 +14,12 @@ #include "util.h" -using namespace std; +#include "TaskManager.h" +#include "PluginManager.h" +#include "version.h" + +using namespace std; void SmsDaemon::CreateLogMessage(SMS& sms,bool hasPlugin) { @@ -28,9 +34,17 @@ void SmsDaemon::CheckSms() { + const int INTERVAL = 1000; //no of milliseconds between sms checks + timeval now = Util::GetTimeOfDay(); + + if ( Util::mTimeDiff(_lastSmsCheck,now) < INTERVAL) + return; + + _lastSmsCheck = now; + Common* cmn = Common::instance(); - PluginManager& manager = cmn->pluginManager; + PluginManager* manager = cmn->GetPluginManager(); vector sms = _modem.ReadSms(); for (unsigned int i=0; iGetPlugin(cmd); CreateLogMessage(sms[i], pl != 0); @@ -71,12 +85,12 @@ CheckSms(); - cmn->taskManager.ExecuteTasks(); + cmn->GetTaskManager()->ExecuteTasks(_modem); if (cmn->isDebug && kbhit()) break; - Util::Sleep(10); + Util::Sleep(100); } } @@ -85,13 +99,17 @@ { Common* cmn = Common::instance(); + srand(time(0)); cmn->daemonStart = time(0); + _lastSmsCheck = Util::GetTimeOfDay(); cmn->logMessage("--------------------------------"); + cmn->logMessage( VERSION ); + cmn->logMessage( SVNVERSION ); - cmn->taskManager.LoadTasks(); - cmn->pluginManager.LoadPlugins(); + cmn->GetTaskManager()->LoadTasks(); + cmn->GetPluginManager()->LoadPlugins(); cmn->logMessage("SMS daemon started"); _modem.DeleteAllSms();