From ed89e4251e3cbaf51a3b724a23141483ffcd8f95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Remko=20Tron=C3=A7on?= Date: Mon, 29 Nov 2010 19:54:56 +0100 Subject: Added some more documentation. diff --git a/.cproject b/.cproject index 05a20bb..3d62151 100644 --- a/.cproject +++ b/.cproject @@ -2327,6 +2327,297 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.project b/.project index 17363c7..0b4af0a 100644 --- a/.project +++ b/.project @@ -18,7 +18,7 @@ org.eclipse.cdt.make.core.autoBuildTarget - check=1 QA + doc=1 Documentation/SwiftenDevelopersGuide org.eclipse.cdt.make.core.buildArguments @@ -54,7 +54,7 @@ org.eclipse.cdt.make.core.fullBuildTarget - check=1 QA + doc=1 Documentation/SwiftenDevelopersGuide org.eclipse.cdt.make.core.stopOnError diff --git a/Documentation/SwiftenDevelopersGuide/Swiften Developers Guide.xml b/Documentation/SwiftenDevelopersGuide/Swiften Developers Guide.xml index ab1b796..52af24e 100644 --- a/Documentation/SwiftenDevelopersGuide/Swiften Developers Guide.xml +++ b/Documentation/SwiftenDevelopersGuide/Swiften Developers Guide.xml @@ -24,8 +24,7 @@ Bind, Optional, and Smart Pointers. We introduce the basic usage of these libraries in our API throughout - this manual. For detailed documentation, we refer to the Boost - website. + this manual. For detailed documentation, we refer to the Boost website. @@ -72,9 +71,19 @@ so we use Swiften's own SimpleEventLoop. This class is used by simply instantiating it at the beginning of the application, and calling run() after everything - is set up, which will go into an infinite loop. Apart from constructing - and (if necessary) starting the event loop, you will probably have - no other contact with it in the rest of the application. + is set up, which will go into an infinite loop. Apart from constructing, + passing, and (if necessary) starting the event loop, you will probably + have no other contact with it in the rest of the application. + + + + Another prerequisite of Swiften's classes is an implementation of + network interaction, provided through the + NetworkFactories class. Swiften comes with a + Boost-based network implementation, implemented in + BoostNetworkFactories. As with the event loop, + you probably will have no need to interact with this class apart + from constructing it. @@ -91,7 +100,18 @@ Building EchoBot - TODO: Explain linking against the static library. + + To build your application, you will need to set up your build + environment to use the correct include and library paths for + Swiften, and link against the Swiften library. This depends + on both the compiler you are using, and the flags you used to build + Swiften. To get the list of compiler options, Swiften comes with + a program swiften-config (located in + Swiften/Config in the Swiften tree). Calling this + with the --libs option will return the list of link flags, + whereas calling it with the --cflags option will return the + list of C(++) compiler flags. + @@ -291,7 +311,18 @@ Using Swiften's convenience classes - TODO + + Swiften comes with flavors of the Client class: CoreClient, which + implements only the basics of connecting to the XMPP server, without any built-in + responders. If you want to build a client from scratch, this class is probably your + preferred Swiften interface. However, most users of Swiften will not want to bother with + explicitly instantiating responders to basic functionality such as software version + information etc., and will want to have the convenience of built-in responders and + utility classes. In this case, you can use the Client class (a + subclass of CoreClient, which + implements most of the common XMPP client functionality, including roster and subscription + management, VCards, Avatars, Service Discovery, Multi-User Chats, ... + -- cgit v0.10.2-6-g49f6