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

Diff of /smsdaemon/ModemTransceiver.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

smsdaemon/GsmModem.h revision 67 by torben, Thu Jun 12 15:23:11 2008 UTC smsdaemon/ModemTransceiver.h revision 678 by torben, Tue Apr 27 21:06:53 2010 UTC
# Line 1  Line 1 
1  #ifndef __GSMMODEM_H__  #ifndef __MODEMTRANSCEIVER_H__
2  #define __GSMMODEM_H__  #define __MODEMTRANSCEIVER_H__
3    
 /* using http://sourceforge.net/projects/libserial/  
  */  
4    
5    
6    #include "ISmsTransceiver.h"
7    
8  #include <string>  #include <string>
9  #include <vector>  #include <vector>
10    
# Line 12  Line 12 
12    
13  class SerialPort;  class SerialPort;
14    
 class IGsmModem  
 {  
 public:  
         virtual void SendSms(std::string to, std::string message, bool allowMultipart) = 0;  
         virtual ~IGsmModem() {}  
 };  
15    
16  class GsmModem : public IGsmModem  class ModemTransceiver : public ISmsTransceiver
17  {  {
18  public:  public:
19          GsmModem(SerialPort& serialport);          ModemTransceiver(SerialPort& serialport);
20          virtual ~GsmModem() {}          virtual ~ModemTransceiver() {}
21    
22          void Init();          void Init();
23    
24          virtual void SendSms(std::string to, std::string message, bool allowMultipart);          virtual void SendSms(std::string to, std::string message, bool allowMultipart);
25          void SendSmsPdu(std::string pdu, int len);          void SendSmsPdu(std::string pdu, int len);
26    
27            virtual std::vector<SMS> ReadSms(bool readAll=false);
28    
         std::vector<SMS> ReadSms(bool readAll=false);  
29          void DeleteSms(std::string smsIndex);          void DeleteSms(std::string smsIndex);
         int DeleteAllSms();  
30  private:  private:
31          std::string GetResponse();          std::string GetResponse();
32          std::string Command(std::string command, std::string term = "OK\r\n");          std::string Command(std::string command, std::string term = "OK\r\n");
33    
34            //decode an CMGF=1 text string
35            SMS FromRawString(const std::string& input);
36            SMS FromPduString(const std::string& input);
37    
38            void HandlePincode();
39            void WaitForSimcard();
40    
41          bool _timeout;          bool _timeout;
42          SerialPort& m_port;          SerialPort& m_port;
43  };  };
44    
 class DebugGsmModem : public IGsmModem  
 {  
 public:  
         DebugGsmModem() : _print(false) {}  
         DebugGsmModem(bool print) : _print(print) {}  
   
   
         virtual void SendSms(std::string to, std::string message, bool allowMultipart);  
   
         std::string GetTo() {return _to;}  
         std::string GetMessage() {return _message;}  
         bool GetMultipart() {return _multipart;}  
 private:  
         std::string _to;  
         std::string _message;  
         bool _multipart;  
         bool _print;  
 };  
45    
46  #endif // __GSMMODEM_H__  #endif // __MODEMTRANSCEIVER_H__

Legend:
Removed from v.67  
changed lines
  Added in v.678

  ViewVC Help
Powered by ViewVC 1.1.20