--- smsdaemon/plugins/TogPlugin.cpp 2008/06/12 12:43:29 63 +++ smsdaemon/plugins/TogPlugin.cpp 2008/12/07 20:58:41 149 @@ -1,5 +1,6 @@ #include "TogPlugin.h" -#include "GsmModem.h" +#include "ISmsTransceiver.h" +#include "Sms.h" #include "TrainInfo.h" #include "util.h" @@ -7,17 +8,20 @@ #include #include +#include "common.h" + using namespace std; TogPlugin::TogPlugin() : Plugin("tog", "Henter tog info fra bane.dk") { - _stationInfo["la"] = StationInfo("LG","Langå"); + _stationInfo["ar"] = StationInfo("AR","�rhus"); + _stationInfo["la"] = StationInfo("LG","Lang�"); _stationInfo["ul"] = StationInfo("UP","Ulstrup"); _stationInfo["bj"] = StationInfo("BJ","Bjerringbro"); _stationInfo["vi"] = StationInfo("VG","Viborg"); - _stationInfo["hø"] = StationInfo("HØ","Højslev"); + _stationInfo["ho"] = StationInfo("H�","H�jslev"); _stationInfo["sk"] = StationInfo("SK","Skive"); } @@ -47,26 +51,26 @@ os << (*it).first << " - " << (*it).second.name << "\n"; } - return Util::str_latin2gsm(os.str()); + return os.str(); } -void TogPlugin::Execute(IGsmModem& modem, SMS& sms) +void TogPlugin::Execute(ISmsTransceiver& modem, SMS& sms) { - string data = GetSmsData(sms); + string data = sms.ExtractParameters(); data = Util::str_gsm2latin(data);; data = Util::str_tolower(data); - + if (data == "") { - modem.SendSms(sms.sender, "Usage: tog \ntog list - liste over stationer", false); + modem.SendSms(sms.GetSender(), "Usage: tog \ntog list - liste over stationer", false); return; } if (data == "list") { - modem.SendSms(sms.sender, CreateStationList(), true); + modem.SendSms(sms.GetSender(), CreateStationList(), true); return; } @@ -75,7 +79,7 @@ if (code == "") { - modem.SendSms(sms.sender, "Unknown station", false); + modem.SendSms(sms.GetSender(), "Unknown station", false); return; } @@ -84,9 +88,9 @@ { infos = GetTrainInfo( code , "" ); } - catch(...) + catch(std::exception& e) { - modem.SendSms(sms.sender, "Connection timeout", false ); + modem.SendSms(sms.GetSender(), e.what(), false ); return; } @@ -102,7 +106,7 @@ os << train.note << "\n"; } - modem.SendSms(sms.sender, Util::str_latin2gsm(os.str()), true); + modem.SendSms(sms.GetSender(), os.str(), true);