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

Diff of /smsdaemon/main.cpp

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

revision 26 by torben, Mon Jun 9 18:15:53 2008 UTC revision 75 by torben, Fri Jun 13 10:10:06 2008 UTC
# Line 1  Line 1 
 #include <iostream>  
1  #include <string>  #include <string>
2    
3  #include <cctype>  #include <cctype>
# Line 58  void main_loop(GsmModem& modem) Line 57  void main_loop(GsmModem& modem)
57                          }                          }
58                          else                          else
59                          {                          {
60                                  modem.SendSms(sms[i].sender, "Unknown command!");                                  modem.SendSms(sms[i].sender, "Unknown command!", false);
61                          }                          }
62    
63                          modem.DeleteSms(sms[i].sms_index);                          modem.DeleteSms(sms[i].sms_index);
64                            cmn->smsCounter.incomming++;
65                  }                  }
66    
67                  if (sms.size() == 0)                  if (sms.size() == 0)
# Line 73  void main_loop(GsmModem& modem) Line 73  void main_loop(GsmModem& modem)
73          }          }
74  }  }
75    
76    bool sms_exit(int exitcode)
77    {
78        if (Common::instance()->isDaemon)
79            daemonCleanup();
80    
81            exit(exitcode);
82    }
83    
84  int main(int argc, char* argv[])  int main(int argc, char* argv[])
85  {  {
# Line 84  int main(int argc, char* argv[]) Line 91  int main(int argc, char* argv[])
91          cmn->pidfile = "/var/run/smsdaemon.pid";          cmn->pidfile = "/var/run/smsdaemon.pid";
92          cmn->spooldir = "/var/spool/smsdaemon";          cmn->spooldir = "/var/spool/smsdaemon";
93    
94          cmn->uid = 500;          cmn->uid = 1000;
95          cmn->gid = 500;          cmn->gid = 1000;
96    
97          cmn->loadConfig(argc,argv);          cmn->loadConfig(argc,argv);
98            cmn->daemonStart = time(0);
99    
100                    
101          /////////////////////          /////////////////////
# Line 101  int main(int argc, char* argv[]) Line 109  int main(int argc, char* argv[])
109    
110          cmn->pluginManager.LoadPlugins();          cmn->pluginManager.LoadPlugins();
111                    
   
112          SerialPort port("/dev/ttyS1" );          SerialPort port("/dev/ttyS1" );
113          port.Open( SerialPort::BAUD_9600 );          try
114            {
115                    port.Open( SerialPort::BAUD_9600,
116                                       SerialPort::CHAR_SIZE_8,
117                                       SerialPort::PARITY_NONE,
118                                       SerialPort::STOP_BITS_1,
119                                       SerialPort::FLOW_CONTROL_HARD );
120            }
121            catch(std::exception &e)
122            {
123                    cmn->logMessage( string("PortOpen Exception: ") + e.what() );
124                    sms_exit(1);
125            }
126    
127          GsmModem modem(port);          GsmModem modem(port);
128    
129            try
130            {
131                    modem.Init();
132            }
133            catch (std::exception& e)
134            {
135                    cmn->logMessage( string("GsmModem Exception: ") + e.what() );
136                    sms_exit(2);
137            }
138    
139    
140          //////////////////////////////////          //////////////////////////////////
141    
142          Common::instance()->logMessage("SMS daemon started");          cmn->logMessage("SMS daemon started");
143    
144          modem.DeleteAllSms();          modem.DeleteAllSms();
145    
146          main_loop(modem);          main_loop(modem);
147    
148            cmn->logMessage( cmn->getStatusMessage() );
149    
150        if (cmn->isDaemon)
151            daemonCleanup();
152    
153            return 0;
154  }  }
155    

Legend:
Removed from v.26  
changed lines
  Added in v.75

  ViewVC Help
Powered by ViewVC 1.1.20