diff options
Diffstat (limited to 'Swiften/Client')
-rw-r--r-- | Swiften/Client/Client.cpp | 13 | ||||
-rw-r--r-- | Swiften/Client/Client.h | 21 | ||||
-rw-r--r-- | Swiften/Client/CoreClient.h | 9 |
3 files changed, 43 insertions, 0 deletions
diff --git a/Swiften/Client/Client.cpp b/Swiften/Client/Client.cpp index 44804be..5c64506 100644 --- a/Swiften/Client/Client.cpp +++ b/Swiften/Client/Client.cpp @@ -6,9 +6,22 @@ #include "Swiften/Client/Client.h" +#include "Swiften/Queries/Responders/SoftwareVersionResponder.h" + namespace Swift { Client::Client(const JID& jid, const String& password) : CoreClient(jid, password) { + softwareVersionResponder = new SoftwareVersionResponder(getIQRouter()); + softwareVersionResponder->start(); +} + +Client::~Client() { + softwareVersionResponder->stop(); + delete softwareVersionResponder; +} + +void Client::setSoftwareVersion(const String& name, const String& version) { + softwareVersionResponder->setVersion(name, version); } } diff --git a/Swiften/Client/Client.h b/Swiften/Client/Client.h index 7609eb8..54d6e56 100644 --- a/Swiften/Client/Client.h +++ b/Swiften/Client/Client.h @@ -9,8 +9,29 @@ #include "Swiften/Client/CoreClient.h" namespace Swift { + class SoftwareVersionResponder; + + /** + * Provides the core functionality for writing XMPP client software. + * + * Besides connecting to an XMPP server, this class also provides interfaces for + * performing most tasks on the XMPP network. + */ class Client : public CoreClient { public: Client(const JID& jid, const String& password); + ~Client(); + + + /** + * Sets the software version of the client. + * + * This will be used to respond to version queries from other entities. + */ + void setSoftwareVersion(const String& name, const String& version); + + private: + SoftwareVersionResponder* softwareVersionResponder; + }; } diff --git a/Swiften/Client/CoreClient.h b/Swiften/Client/CoreClient.h index 704cf3b..02d98b6 100644 --- a/Swiften/Client/CoreClient.h +++ b/Swiften/Client/CoreClient.h @@ -32,6 +32,15 @@ namespace Swift { class ClientSession; class BasicSessionStream; + /** + * The central class for communicating with an XMPP server. + * + * This class is responsible for setting up the connection with the XMPP server, authenticating, and + * initializing the session. + * + * This class can be used directly in your application, although the Client subclass provides more + * functionality and interfaces, and is better suited for most needs. + */ class CoreClient { public: CoreClient(const JID& jid, const String& password); |