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 | |
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')
-rw-r--r-- | Documentation/SwiftenDevelopersGuide/Examples/EchoBot/EchoBot0x.cpp | 38 | ||||
-rw-r--r-- | Documentation/SwiftenDevelopersGuide/Examples/EchoBot/SConscript | 15 |
2 files changed, 52 insertions, 1 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; +} 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") |