/[H9]/trunk/FlisServer/FlisServerDlg.cpp
ViewVC logotype

Diff of /trunk/FlisServer/FlisServerDlg.cpp

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

revision 144 by kevin, Tue Dec 4 13:26:00 2007 UTC revision 166 by kevin, Wed Dec 5 16:03:05 2007 UTC
# Line 6  Line 6 
6  #include "FlisServerDlg.h"  #include "FlisServerDlg.h"
7  #include <vector>  #include <vector>
8  #include ".\flisserverdlg.h"  #include ".\flisserverdlg.h"
9    #include <atlrx.h>
10    
11  #ifdef _DEBUG  #ifdef _DEBUG
12  #define new DEBUG_NEW  #define new DEBUG_NEW
# Line 373  void CFlisServerDlg::SmsSplit(CString da Line 374  void CFlisServerDlg::SmsSplit(CString da
374                  HandleAcknowledge(TlfNr);                  HandleAcknowledge(TlfNr);
375                  return;                  return;
376          }          }
377                    CAtlRegExp<> regex;
378            if (regex.Parse("^{[0-9]+}:{[0-9]+}:[0-1]:[0-1]:[0-1]:[0-1]:$") == REPARSE_ERROR_OK)
379            {
380    
381                    CAtlREMatchContext<> pContext;
382    
383                    if (!regex.Match(FyrData, &pContext))
384                    {
385                            AppendText("Invalid SMS recieved");
386                            return;
387                    }
388            }
389            else
390            {
391                    AppendText("Regex PARSE error!!!"); //Burde aldrig kunne ske !
392            }
393    
394          SmsCount = Splitter(FyrData);          SmsCount = Splitter(FyrData);
395          Temper = Splitter(FyrData);          Temper = Splitter(FyrData);
396          Flamme = Splitter(FyrData);          Flamme = Splitter(FyrData);
# Line 421  void CFlisServerDlg::OnBnClickedClose() Line 438  void CFlisServerDlg::OnBnClickedClose()
438  {  {
439          // TODO: Add your control notification handler code here          // TODO: Add your control notification handler code here
440          continueThread = 0;          continueThread = 0;
441            Sleep(250);
442          DeleteSms();          DeleteSms();
443    
444          Sleep(500);          Sleep(500);
# Line 471  void CFlisServerDlg::OnBnClickedGsmpin() Line 489  void CFlisServerDlg::OnBnClickedGsmpin()
489                                  AppendText(tekst);                                  AppendText(tekst);
490                          }                          }
491                  }                  }
492                    Sleep(10); //Small delay to avoid busy wait
493          }          }
494          Sleep(100); //Give the modem a chance to send the last data          Sleep(100); //Give the modem a chance to send the last data
495          while(Serial.getComstat().cbInQue > 0)          while(Serial.getComstat().cbInQue > 0)
# Line 740  void CFlisServerDlg::SendConfig(CString Line 759  void CFlisServerDlg::SendConfig(CString
759                  CString SQL, Textwindow;                  CString SQL, Textwindow;
760                  SQL.Format("update command set executed=now() where id=%s",IDnr);                  SQL.Format("update command set executed=now() where id=%s",IDnr);
761                  db.ExecuteSQL(SQL);                  db.ExecuteSQL(SQL);
762                    Sleep(100);
763                  AppendText("Command executed");                  AppendText("Command executed");
764          }          }
765          Sleep(150);          Sleep(150);
# Line 923  vector<keepalive> CFlisServerDlg::keepal Line 943  vector<keepalive> CFlisServerDlg::keepal
943          CString SQL, name, value;          CString SQL, name, value;
944          SQL = "select name, value from config;";          SQL = "select name, value from config;";
945          CRecordset rs(&db);          CRecordset rs(&db);
946          rs.Open(AFX_DB_USE_DEFAULT_TYPE, SQL);          try
         if (rs.GetRecordCount()>0)  
947          {          {
948                  rs.MoveFirst();                  rs.Open(AFX_DB_USE_DEFAULT_TYPE, SQL);
949                    if (rs.GetRecordCount()>0)
950                    {
951                            rs.MoveFirst();
952                                                    
953                  rs.GetFieldValue((short)0, name);                          rs.GetFieldValue((short)0, name);
954                  rs.GetFieldValue(1,value);                          rs.GetFieldValue(1,value);
955                                    
956                  Alive.name = name;                          Alive.name = name;
957                  Alive.value = value;                          Alive.value = value;
958                  Alive.tid = CTime::GetCurrentTime();                          Alive.tid = CTime::GetCurrentTime();
959                  if(Alive.name == "phonenr")                          if(Alive.name == "phonenr")
960                  {                          {
961                          Alive.Phonenr = value;                                  Alive.Phonenr = value;
962                  }                          }
963    
964                  buffer.push_back(Alive);                          buffer.push_back(Alive);
965                  rs.MoveNext();                          rs.MoveNext();
966    
967                    }
968                    rs.Close();
969                    return buffer;
970          }          }
971          rs.Close();          catch (char * str)
972          return buffer;          {
973                    AppendText("Keepalive failed, closing and opening the db connection again");
974                    if(db.IsOpen())
975                    {
976                            db.Close();
977                            AppendText("DB connection closed");
978                    }
979                    if(!db.IsOpen())
980                    {
981                            DBConnect();
982                            AppendText("DB connection started again");
983                    }
984            }
985    
986                    
 }  
987    }

Legend:
Removed from v.144  
changed lines
  Added in v.166

  ViewVC Help
Powered by ViewVC 1.1.20