diff options
author | Remko Tronçon <git@el-tramo.be> | 2011-02-04 14:24:19 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2011-02-04 14:24:19 (GMT) |
commit | 6a931dc727a5581966425f9ec5d2ce5ddbbfe11a (patch) | |
tree | 89eff81a481825f086508e99a1cca2ab57d4f334 /Documentation/SwiftenDevelopersGuide/Examples/EchoBot/EchoBot0x.cpp | |
parent | e9939e9958b0dae2dc6d2211b52dca5058869418 (diff) | |
download | swift-contrib-6a931dc727a5581966425f9ec5d2ce5ddbbfe11a.zip swift-contrib-6a931dc727a5581966425f9ec5d2ce5ddbbfe11a.tar.bz2 |
Added C++0x version of EchoBot.
Diffstat (limited to 'Documentation/SwiftenDevelopersGuide/Examples/EchoBot/EchoBot0x.cpp')
-rw-r--r-- | Documentation/SwiftenDevelopersGuide/Examples/EchoBot/EchoBot0x.cpp | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/Documentation/SwiftenDevelopersGuide/Examples/EchoBot/EchoBot0x.cpp b/Documentation/SwiftenDevelopersGuide/Examples/EchoBot/EchoBot0x.cpp new file mode 100644 index 0000000..68affc3 --- /dev/null +++ b/Documentation/SwiftenDevelopersGuide/Examples/EchoBot/EchoBot0x.cpp @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2010 Remko Tronçon + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ + +#include <Swiften/Swiften.h> + +using namespace Swift; + +int main(int, char**) { + // Set up the event loop and network classes + SimpleEventLoop eventLoop; + BoostNetworkFactories networkFactories(&eventLoop); + + // Initialize the client with the JID and password + Client client( + JID("echobot@wonderland.lit"), "mypass", &networkFactories); + + // When the client is convnected, send out initial presence + client.onConnected.connect([&] { + client.sendPresence(Presence::create("Send me a message")); + }); + + // When the client receives an incoming message, echo it back + client.onMessageReceived.connect([&] (Message::ref message) { + message->setTo(message->getFrom()); + message->setFrom(JID()); + client.sendMessage(message); + }); + + // Start the client + client.connect(); + + // Run the event loop to start processing incoming network events + eventLoop.run(); + return 0; +} |