From 6a931dc727a5581966425f9ec5d2ce5ddbbfe11a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Remko=20Tron=C3=A7on?= Date: Fri, 4 Feb 2011 15:24:19 +0100 Subject: Added C++0x version of EchoBot. 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 + +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; +} diff --git a/Documentation/SwiftenDevelopersGuide/Examples/EchoBot/SConscript b/Documentation/SwiftenDevelopersGuide/Examples/EchoBot/SConscript index ca9ce62..036b29d 100644 --- a/Documentation/SwiftenDevelopersGuide/Examples/EchoBot/SConscript +++ b/Documentation/SwiftenDevelopersGuide/Examples/EchoBot/SConscript @@ -6,5 +6,18 @@ example_env.MergeFlags(example_env["SWIFTEN_DEP_FLAGS"]) for i in range(1,7) : example_env.Program("EchoBot" + str(i), ["EchoBot" + str(i) + ".cpp"]) -#example_env.Program("EchoBot0x", "EchoBot0x.cpp") example_env.Program("EchoComponent", "EchoComponent.cpp") + +# C++0x +cpp0x = False +cpp0x_env = example_env.Clone() +if env["PLATFORM"] == "win32" : + if int(env["MSVS_VERSION"].split(".")[0]) >= 10 : + cpp0x = True +else : + if env["CCVERSION"].split(".") >= ["4", "5", "0"] : + cpp0x = True + cpp0x_env.Replace(CXXFLAGS = [flag for flag in env["CXXFLAGS"] if flag != "-Werror"]) + cpp0x_env.Append(CXXFLAGS = ["-std=c++0x"]) +if cpp0x : + cpp0x_env.Program("EchoBot0x", "EchoBot0x.cpp") -- cgit v0.10.2-6-g49f6