|
gloox
1.0
|
#include <registration.h>

Classes | |
| class | Query |
| A wrapping class for the XEP-0077 <query> element. More... | |
Public Types | |
| enum | fieldEnum |
Public Member Functions | |
| Registration (ClientBase *parent, const JID &to) | |
| Registration (ClientBase *parent) | |
| virtual | ~Registration () |
| void | fetchRegistrationFields () |
| bool | createAccount (int fields, const RegistrationFields &values) |
| void | createAccount (DataForm *form) |
| void | removeAccount () |
| void | changePassword (const std::string &username, const std::string &password) |
| void | registerRegistrationHandler (RegistrationHandler *rh) |
| void | removeRegistrationHandler () |
| virtual bool | handleIq (const IQ &iq) |
| virtual void | handleIqID (const IQ &iq, int context) |
Public Member Functions inherited from IqHandler | |
| virtual | ~IqHandler () |
This class is an implementation of XEP-0077 (In-Band Registration).
Derive your object from RegistrationHandler and implement the virtual functions offered by that interface. Then use it like this:
In RegistrationHandler::handleRegistrationFields() you should check which information the server requires to open a new account. You might not always get away with just username and password. Then call createAccount() with a filled-in RegistrationFields and an int representing the bit-wise ORed fields you want to have included in the registration attempt. For your convenience you can use the 'fields' argument of handleRegistrationFields(). ;) It's your responsibility to make sure at least those fields the server requested are filled in.
Check tests/register_test.cpp for an example.
Definition at line 92 of file registration.h.
| enum fieldEnum |
The possible fields of a XEP-0077 account registration.
Definition at line 99 of file registration.h.
| Registration | ( | ClientBase * | parent, |
| const JID & | to | ||
| ) |
Constructor.
| parent | The ClientBase which is used for establishing a connection. |
| to | The server or service to authenticate with. If empty the currently connected server will be used. |
Definition at line 219 of file registration.cpp.
| Registration | ( | ClientBase * | parent | ) |
Constructor. Registration will be attempted with the ClientBase's connected host.
| parent | The ClientBase which is used for establishing a connection. |
Definition at line 225 of file registration.cpp.
|
virtual |
Virtual destructor.
Definition at line 240 of file registration.cpp.
| void changePassword | ( | const std::string & | username, |
| const std::string & | password | ||
| ) |
Tells the server to change the password for the current account.
| username | The username to change the password for. You might want to use Client::username() to get the current prepped username. |
| password | The new password. |
Definition at line 293 of file registration.cpp.
| bool createAccount | ( | int | fields, |
| const RegistrationFields & | values | ||
| ) |
Attempts to register an account with the given credentials. Only the fields OR'ed in fields will be sent. This can only be called with an unauthenticated parent (Client).
| fields | The fields to use to generate the registration request. OR'ed fieldEnum values. |
| values | The struct contains the values which shall be used for the registration. |
Definition at line 260 of file registration.cpp.
| void createAccount | ( | DataForm * | form | ) |
Attempts to register an account with the given credentials. This can only be called with an unauthenticated parent (Client).
| form | The DataForm containing the registration credentials. |
Definition at line 273 of file registration.cpp.
| void fetchRegistrationFields | ( | ) |
Use this function to request the registration fields the server requires. The required fields are returned asynchronously to the object registered as RegistrationHandler by calling RegistrationHandler::handleRegistrationFields().
Definition at line 250 of file registration.cpp.
|
inlinevirtual |
Reimplement this function if you want to be notified about incoming IQs.
| iq | The complete IQ stanza. |
Implements IqHandler.
Definition at line 310 of file registration.h.
|
virtual |
Reimplement this function if you want to be notified about incoming IQs with a specific value of the id attribute. You have to enable tracking of those IDs using Client::trackID(). This is usually useful for IDs that generate a positive reply, i.e. <iq type='result' id='reg'/> where a namespace filter wouldn't work.
| iq | The complete IQ stanza. |
| context | A value to restore context, stored with ClientBase::trackID(). |
Implements IqHandler.
Definition at line 315 of file registration.cpp.
| void registerRegistrationHandler | ( | RegistrationHandler * | rh | ) |
Registers the given rh as RegistrationHandler. Only one handler is possible at a time.
| rh | The RegistrationHandler to register. |
Definition at line 305 of file registration.cpp.
| void removeAccount | ( | ) |
Tells the server to remove the currently authenticated account from the server.
Definition at line 283 of file registration.cpp.
| void removeRegistrationHandler | ( | ) |
Un-registers the current RegistrationHandler.
Definition at line 310 of file registration.cpp.
1.8.1.2