--- smsdaemon/ModemTransceiver.cpp 2008/12/07 20:58:41 149 +++ smsdaemon/ModemTransceiver.cpp 2008/12/10 08:59:58 171 @@ -12,8 +12,10 @@ #include "ModemTransceiver.h" -#include "util.h" -#include "common.h" +#include "Util.h" +#include "Common.h" +#include "Logger.h" +#include "ConfigFile.h" #include "SmsPdu.h" #include "SmsHelper.h" @@ -72,8 +74,8 @@ now = time(0); if ( (now-start) > 10 ) { - Common::instance()->logMessage( string("ModemTransceiver::Command time out --") + command); - Common::instance()->logMessage( string("Modem responded: ") + Util::str_trim(response) ); + Logger::logMessage( string("ModemTransceiver::Command time out --") + command); + Logger::logMessage( string("Modem responded: ") + Util::str_trim(response) ); _timeout = true; break; } @@ -124,7 +126,7 @@ void ModemTransceiver::SendSmsPdu(std::string pdu, int len) //pdu inclussive leading "00" { - Common::instance()->logMessage( string("SMS pdu send") ); + Logger::logMessage( string("SMS pdu send") ); Command("AT+CMGF=0"); Util::Sleep(2); @@ -144,7 +146,7 @@ void ModemTransceiver::SendSms(string to, string message, bool allowMultipart) { - Common::instance()->logMessage( string("SMS send to ") + to); + Logger::logMessage( string("SMS send to ") + to); if (to.at(0) == '+') to.erase(0,0); @@ -157,7 +159,7 @@ SendSmsPdu(pdu.pdu, pdu.len); } - Common::instance()->logMessage( "All PDU's send"); + Logger::logMessage( "All PDU's send"); } @@ -201,6 +203,8 @@ void ModemTransceiver::HandlePincode() { + string pin = Common::instance()->GetConfigfile()->GetValue("gsmmodem","pin"); + string result = Command("AT+CPIN?"); result = Util::str_trim(result); result.erase(result.length() -2, 2); //remove trailing ok @@ -210,7 +214,7 @@ if (result == "+CPIN: SIM PIN") { Command("AT^SSET=1"); - result = Command("AT+CPIN=0067"); + result = Command( string("AT+CPIN=")+pin ); if ( result.substr(result.length()-4, 4) != "OK\r\n") throw std::runtime_error(string("Illegal pincode: ") + result);