Clean up of RosterItem? and RosterClientProtocol?.
RosterItem:
- Renamed attributes jid and ask to entity and
pendingOut respectively.
- Can represent roster items to be removed or that have been removed.
- Now has fromElement and toElement methods.
RosterRequest is a new class to represent roster request stanzas.
RosterClientProtocol:
- Roster returned from getRoster is now indexed by JIDs (instead of
the unicode representation of the JID).
- Outgoing requests are now done using RosterRequest.
- onRosterSet and onRosterRemove are deprecated in favor of
setReceived and removeReceived, respectively. These are called with a
RosterRequest to have access to addressing and roster version
information.
RosterPushIgnored can be raised to return a service-unavailable stanza
error for unwanted pushes.
This also fixes a problem with checking the sender address for roster pushes.
Author: ralphm.
Fixes: #71.