diff options
author | Remko Tronçon <git@el-tramo.be> | 2010-03-28 13:40:14 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2010-03-28 13:40:43 (GMT) |
commit | b61486fefe602e0d18fa5279021006f87b965307 (patch) | |
tree | 437585cbef1179e1ec31f79789591d5610200c29 /Swiften/Examples/EchoBot | |
parent | dae28dd45e43fc6e6ef2ec4c6c65d5d736ed86f8 (diff) | |
download | swift-contrib-b61486fefe602e0d18fa5279021006f87b965307.zip swift-contrib-b61486fefe602e0d18fa5279021006f87b965307.tar.bz2 |
Moved Swiften to a separate module.
Diffstat (limited to 'Swiften/Examples/EchoBot')
m--------- | Swiften | 0 | ||||
-rw-r--r-- | Swiften/Examples/EchoBot/.gitignore | 1 | ||||
-rw-r--r-- | Swiften/Examples/EchoBot/EchoBot.cpp | 56 |
3 files changed, 0 insertions, 57 deletions
diff --git a/Swiften b/Swiften new file mode 160000 +Subproject 8213ba16d0043d2461f4b031c881d61dda5a38c diff --git a/Swiften/Examples/EchoBot/.gitignore b/Swiften/Examples/EchoBot/.gitignore deleted file mode 100644 index 9200f42..0000000 --- a/Swiften/Examples/EchoBot/.gitignore +++ /dev/null @@ -1 +0,0 @@ -EchoBot diff --git a/Swiften/Examples/EchoBot/EchoBot.cpp b/Swiften/Examples/EchoBot/EchoBot.cpp deleted file mode 100644 index 872d901..0000000 --- a/Swiften/Examples/EchoBot/EchoBot.cpp +++ /dev/null @@ -1,56 +0,0 @@ -#include <boost/bind.hpp> - -#include "Swiften/Client/Client.h" -#include "Swiften/Client/ClientXMLTracer.h" -#include "Swiften/EventLoop/SimpleEventLoop.h" -#include "Swiften/Queries/Requests/GetRosterRequest.h" - -using namespace Swift; -using namespace boost; - -class EchoBot { - public: - EchoBot(const JID& jid, const String& pass) : tracer(0) { - client = new Client(jid, pass); - tracer = new ClientXMLTracer(client); - client->onConnected.connect(bind(&EchoBot::handleConnected, this)); - client->onMessageReceived.connect(bind(&EchoBot::handleMessageReceived, this, _1)); - client->connect(); - } - - ~EchoBot() { - delete tracer; - delete client; - } - - private: - void handleConnected() { - shared_ptr<GetRosterRequest> rosterRequest(new GetRosterRequest(client)); - rosterRequest->onResponse.connect(bind(&EchoBot::handleRosterReceived, this, _2)); - rosterRequest->send(); - } - - void handleRosterReceived(const optional<Error>& error) { - if (error) { - std::cerr << "Error receiving roster. Continuing anyway."; - } - client->sendPresence(shared_ptr<Presence>(new Presence("Send me a message"))); - } - - void handleMessageReceived(shared_ptr<Message> message) { - message->setTo(message->getFrom()); - message->setFrom(JID()); - client->sendMessage(message); - } - - private: - Client* client; - ClientXMLTracer* tracer; -}; - -int main(int, char**) { - SimpleEventLoop eventLoop; - EchoBot bot(JID("echobot@wonderland.lit"), "mypass"); - eventLoop.run(); - return 0; -} |