1 |
#include "StatusPlugin.h" |
2 |
#include "ISmsTransceiver.h" |
3 |
#include "Sms.h" |
4 |
|
5 |
#include <sstream> |
6 |
#include "version.h" |
7 |
|
8 |
#include "Common.h" |
9 |
|
10 |
StatusPlugin::StatusPlugin() |
11 |
: Plugin("status", "Returns a status of the smsdaemon") |
12 |
{ |
13 |
|
14 |
} |
15 |
|
16 |
void StatusPlugin::Execute(ISmsTransceiver& modem, SMS& sms) |
17 |
{ |
18 |
Common* cmn = Common::instance(); |
19 |
|
20 |
|
21 |
int tot_sec = time(0) - cmn->daemonStart; |
22 |
|
23 |
int sec = tot_sec % 60; |
24 |
int min = (tot_sec / 60) % 60; |
25 |
int hour = (tot_sec / 3600) %24; |
26 |
int days = tot_sec / (3600*24); |
27 |
|
28 |
std::ostringstream os; |
29 |
os << VERSION << std::endl; |
30 |
os << SVNVERSION << std::endl; |
31 |
os << "Status:" << std::endl; |
32 |
os << "Recv: " << cmn->smsCounter.incomming << std::endl; |
33 |
os << "Send: " << cmn->smsCounter.outgoing << std::endl; |
34 |
os << "Uptime: " << days << "d, " << hour << ":" << min << ":" << sec; |
35 |
|
36 |
|
37 |
modem.SendSms(sms.GetSender(), os.str(), true ); |
38 |
|
39 |
} |