/[projects]/smsdaemon/SmsHelper.cpp
ViewVC logotype

Contents of /smsdaemon/SmsHelper.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 143 - (show annotations) (download)
Sun Dec 7 16:00:12 2008 UTC (15 years, 5 months ago) by torben
File size: 1355 byte(s)
forgot, these two files, which part of the SMS refactoring.

1
2 #include "SmsHelper.h"
3
4 #include <string>
5 #include <vector>
6
7
8 #include "Sms.h"
9 #include "util.h"
10 #include "SmsPdu.h"
11
12
13
14 namespace SmsHelper
15 {
16
17 SMS FromRawString(const std::string& input)
18 {
19 std::string smsline = input.substr(7, input.length() -7); //strip "+CMGL: "
20
21 std::vector<std::string> lines = Util::str_split(smsline, "\r\n");
22 std::vector<std::string> fields = Util::str_split(lines[0],",");
23
24 std::string body;
25 for (unsigned i=1; i<lines.size(); ++i)
26 {
27 std::string body_line = lines[i];
28
29
30 if (body_line != "")
31 {
32 if (body.length() > 0)
33 body += "\r\n";
34 body += body_line;
35 }
36 }
37
38 body = Util::str_trim(body);
39
40 SMS sms;
41
42 sms.SetIndex( fields[0] );
43
44
45 std::string sender = fields[2];
46 sender = Util::str_replace(sender, "\"");
47 sms.SetSender(sender);
48
49 std::string timestamp = fields[4] + std::string(",") + fields[5];
50 timestamp = Util::str_replace(timestamp, "\"");
51 sms.SetTimestamp(timestamp);
52
53 sms.SetMessage( body );
54
55 return sms;
56 }
57
58 SMS FromPduString(const std::string& input)
59 {
60 std::string smsline = input.substr(7, input.length() -7); //strip "+CMGL: "
61
62 std::vector<std::string> lines = Util::str_split(smsline, "\r\n");
63 std::vector<std::string> fields = Util::str_split(lines[0],",");
64
65 SMS sms = SmsPdu::ParseSmsPdu(lines[1]);
66
67 sms.SetIndex(fields[0]);
68
69 return sms;
70 }
71
72 }

  ViewVC Help
Powered by ViewVC 1.1.20