59 |
|
|
60 |
std::vector<SMS> SmsToolTransceiver::ReadSms(bool readAll) |
std::vector<SMS> SmsToolTransceiver::ReadSms(bool readAll) |
61 |
{ |
{ |
62 |
const std::string incoming = "/var/spool/sms/incoming/"; |
const std::string inbox = "/var/spool/sms/inbox/"; |
63 |
std::vector<SMS> vec; |
std::vector<SMS> vec; |
64 |
DIR* dir = opendir( incoming.c_str() ); |
DIR* dir = opendir( inbox.c_str() ); |
65 |
|
|
66 |
if (dir != 0) |
if (dir != 0) |
67 |
{ |
{ |
70 |
{ |
{ |
71 |
if (entry->d_name[0] == '.') |
if (entry->d_name[0] == '.') |
72 |
continue; |
continue; |
73 |
|
Logger::logMessage( string("SmsTool::ReadSms >") +entry->d_name); |
74 |
|
|
75 |
try |
try |
76 |
{ |
{ |
77 |
SMS sms = ParseFile( incoming + entry->d_name); |
SMS sms = ParseFile( inbox + entry->d_name); |
78 |
vec.push_back(sms); |
vec.push_back(sms); |
79 |
} |
} |
80 |
catch (std::exception& e) |
catch (std::exception& e) |
88 |
} |
} |
89 |
else |
else |
90 |
{ |
{ |
91 |
Logger::logMessage( string("SmsToolTransceiver could open incoming dir ") + strerror(errno) ); |
Logger::logMessage( string("SmsToolTransceiver could open inbox dir ") + strerror(errno) ); |
92 |
} |
} |
93 |
closedir(dir); |
closedir(dir); |
94 |
|
|
139 |
|
|
140 |
for (unsigned int i=0; i<headers.size(); i++) |
for (unsigned int i=0; i<headers.size(); i++) |
141 |
{ |
{ |
142 |
int pos = headers[i].find(":"); |
unsigned int pos = headers[i].find(":"); |
143 |
string key = Util::str_trim( headers[i].substr(0,pos) ); |
if (pos != string::npos) |
144 |
string val = Util::str_trim( headers[i].substr(pos+1) ); |
{ |
145 |
|
string key = Util::str_trim( headers[i].substr(0,pos) ); |
146 |
|
string val = Util::str_trim( headers[i].substr(pos+1) ); |
147 |
|
|
148 |
if (key == "From") |
if (key == "From") |
149 |
sms.SetSender(val); |
sms.SetSender(val); |
150 |
|
|
151 |
if (key == "Received") |
if (key == "Received") |
152 |
sms.SetTimestamp(val); |
sms.SetTimestamp(val); |
153 |
|
} |
154 |
|
else |
155 |
|
{ |
156 |
|
Logger::logMessage(string("SmsTool: Invalid sms file header> ") + headers[i]); |
157 |
|
} |
158 |
} |
} |
159 |
|
|
160 |
} |
} |