From db6f7e6c8f8692d8ef69a032c95dc07fcff91aac Mon Sep 17 00:00:00 2001 From: HanzZ Date: Wed, 15 Feb 2012 20:48:51 +0100 Subject: [PATCH] sending sms works --- backends/CMakeLists.txt | 2 +- backends/smstools3/main.cpp | 22 ++++++++++++++++++++-- spectrum/src/sample.cfg | 4 +++- 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/backends/CMakeLists.txt b/backends/CMakeLists.txt index c0e3d527..be7163c5 100644 --- a/backends/CMakeLists.txt +++ b/backends/CMakeLists.txt @@ -7,7 +7,7 @@ if (PROTOBUF_FOUND) ADD_SUBDIRECTORY(libcommuni) endif() -#ADD_SUBDIRECTORY(smstools3) + ADD_SUBDIRECTORY(smstools3) if (NOT WIN32) ADD_SUBDIRECTORY(frotz) diff --git a/backends/smstools3/main.cpp b/backends/smstools3/main.cpp index 60d1e1e3..bc02c24a 100644 --- a/backends/smstools3/main.cpp +++ b/backends/smstools3/main.cpp @@ -87,6 +87,8 @@ class SMSNetworkPlugin : public NetworkPlugin { str = str.substr(str.find("\n") + 1); } + std::cout << "INCOMING SMS '" << to << "' '" << msg << "'\n"; + } void handleSMSDir() { @@ -97,7 +99,7 @@ class SMSNetworkPlugin : public NetworkPlugin { try { if (is_regular(itr->path())) { handleSMS(itr->path().string()); - remove(itr->path()); +// remove(itr->path()); } } catch (const filesystem_error& ex) { @@ -107,6 +109,22 @@ class SMSNetworkPlugin : public NetworkPlugin { m_timer->start(); } + void sendSMS(const std::string &to, const std::string &msg) { + std::string data = "To: " + to + "\n"; + data += "\n"; + data += msg; + + std::string bucket = "abcdefghijklmnopqrstuvwxyz"; + std::string uuid; + for (int i = 0; i < 10; i++) { + uuid += bucket[rand() % bucket.size()]; + } + std::ofstream myfile; + myfile.open (std::string("/var/spool/sms/outgoing/spectrum." + uuid).c_str()); + myfile << data; + myfile.close(); + } + void sendData(const std::string &string) { m_conn->write(Swift::createSafeByteArray(string)); } @@ -127,7 +145,7 @@ class SMSNetworkPlugin : public NetworkPlugin { } void handleMessageSendRequest(const std::string &user, const std::string &legacyName, const std::string &message, const std::string &xhtml = "") { - + sendSMS(legacyName, message); } void handleJoinRoomRequest(const std::string &user, const std::string &room, const std::string &nickname, const std::string &password) { diff --git a/spectrum/src/sample.cfg b/spectrum/src/sample.cfg index fcb060d3..10850f05 100644 --- a/spectrum/src/sample.cfg +++ b/spectrum/src/sample.cfg @@ -13,7 +13,8 @@ admin_password=test #cert=server.pfx #patch to PKCS#12 certificate #cert_password=test #password to that certificate if any users_per_backend=10 -backend=/home/hanzz/code/libtransport/backends/libpurple/spectrum2_libpurple_backend +#backend=/home/hanzz/code/libtransport/backends/libpurple/spectrum2_libpurple_backend +backend=/home/hanzz/code/libtransport/backends/smstools3/spectrum2_smstools3_backend #backend=/usr/bin/mono /home/hanzz/code/networkplugin-csharp/msnp-sharp-backend/bin/Debug/msnp-sharp-backend.exe #backend=/home/hanzz/code/libtransport/backends/frotz/spectrum2_frotz_backend #backend=/home/hanzz/code/libtransport/backends/libircclient-qt/spectrum2_libircclient-qt_backend @@ -25,6 +26,7 @@ irc_server=irc.freenode.org [backend] #default_avatar=catmelonhead.jpg #no_vcard_fetch=true +incoming_dir=/var/spool/sms/incoming [logging] #config=logging.cfg # log4cxx/log4j logging configuration file