diff options
| -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") | 
 Swift
 Swift