summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2010-10-09 09:52:51 (GMT)
committerRemko Tronçon <git@el-tramo.be>2010-10-09 14:20:47 (GMT)
commitc5bb67eab6f97ae0f5f7e673ff0ba9b1111191f4 (patch)
treead17bd2ee34263af472340a839a4757859ddaea1 /Swiften/Examples/EchoBot/EchoBot.cpp
parent0a84186a22fd48485deed77bc067877ac332d0b4 (diff)
downloadswift-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.cpp63
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;
-}