diff options
author | Remko Tronçon <git@el-tramo.be> | 2010-10-09 09:52:51 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2010-10-09 14:20:47 (GMT) |
commit | c5bb67eab6f97ae0f5f7e673ff0ba9b1111191f4 (patch) | |
tree | ad17bd2ee34263af472340a839a4757859ddaea1 /Swiften/Examples/EchoBot/EchoBot.cpp | |
parent | 0a84186a22fd48485deed77bc067877ac332d0b4 (diff) | |
download | swift-contrib-c5bb67eab6f97ae0f5f7e673ff0ba9b1111191f4.zip swift-contrib-c5bb67eab6f97ae0f5f7e673ff0ba9b1111191f4.tar.bz2 |
Added EchoBot walkthrough example.
Diffstat (limited to 'Swiften/Examples/EchoBot/EchoBot.cpp')
-rw-r--r-- | Swiften/Examples/EchoBot/EchoBot.cpp | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/Swiften/Examples/EchoBot/EchoBot.cpp b/Swiften/Examples/EchoBot/EchoBot.cpp deleted file mode 100644 index 0474287..0000000 --- a/Swiften/Examples/EchoBot/EchoBot.cpp +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (c) 2010 Remko Tronçon - * Licensed under the GNU General Public License v3. - * See Documentation/Licenses/GPLv3.txt for more information. - */ - -#include <boost/bind.hpp> -#include <iostream> - -#include "Swiften/Client/Client.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) { - client = new Client(jid, pass); - client->onConnected.connect(bind(&EchoBot::handleConnected, this)); - client->onMessageReceived.connect(bind(&EchoBot::handleMessageReceived, this, _1)); - client->connect(); - } - - ~EchoBot() { - delete client; - } - - private: - void handleConnected() { - shared_ptr<GetRosterRequest> rosterRequest(new GetRosterRequest(client->getIQRouter())); - rosterRequest->onResponse.connect(bind(&EchoBot::handleRosterReceived, this, _2)); - rosterRequest->send(); - } - - void handleRosterReceived(const optional<ErrorPayload>& 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; -}; - -int main(int argc, char* argv[]) { - if (argc != 3) { - std::cerr << "Usage: " << argv[0] << " <jid> <pass>" << std::endl; - return -1; - } - SimpleEventLoop eventLoop; - EchoBot bot(JID(argv[1]), argv[2]); - eventLoop.run(); - return 0; -} |