/[projects]/smsdaemon/GsmModem.h
ViewVC logotype

Contents of /smsdaemon/GsmModem.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 144 - (show annotations) (download)
Sun Dec 7 16:27:34 2008 UTC (15 years, 5 months ago) by torben
File MIME type: text/plain
File size: 1383 byte(s)
Refactor IGsmModem, in order to ease adding another sms transceiver

1 #ifndef __GSMMODEM_H__
2 #define __GSMMODEM_H__
3
4 /* using http://sourceforge.net/projects/libserial/
5 */
6
7 #include "IGsmModem.h"
8
9 #include <string>
10 #include <vector>
11
12 #include "Sms.h"
13
14 class SerialPort;
15
16
17 class GsmModem : public IGsmModem
18 {
19 public:
20 GsmModem(SerialPort& serialport);
21 virtual ~GsmModem() {}
22
23 void Init();
24
25 virtual void SendSms(std::string to, std::string message, bool allowMultipart);
26 void SendSmsPdu(std::string pdu, int len);
27
28 virtual std::vector<SMS> ReadSms(bool readAll=false);
29
30 virtual void DeleteSms(std::string smsIndex);
31 virtual int DeleteAllSms();
32 private:
33 std::string GetResponse();
34 std::string Command(std::string command, std::string term = "OK\r\n");
35
36 void HandlePincode();
37 void WaitForSimcard();
38
39 bool _timeout;
40 SerialPort& m_port;
41 };
42
43 class DebugGsmModem : public IGsmModem
44 {
45 public:
46 DebugGsmModem() : _print(false) {}
47 DebugGsmModem(bool print) : _print(print) {}
48
49
50 virtual std::vector<SMS> ReadSms(bool readAll=false);
51 virtual void SendSms(std::string to, std::string message, bool allowMultipart);
52
53 virtual void DeleteSms(std::string smsIndex) {}
54 virtual int DeleteAllSms() { return 0;}
55
56
57
58 std::string GetTo() {return _to;}
59 std::string GetMessage() {return _message;}
60 bool GetMultipart() {return _multipart;}
61 private:
62 std::string _to;
63 std::string _message;
64 bool _multipart;
65 bool _print;
66 };
67
68 #endif // __GSMMODEM_H__

  ViewVC Help
Powered by ViewVC 1.1.20