powered by Jive Software

IQProvider or PacketExtensionProvider? This is the question

Hi all,

from

http://jivesoftware.org/builds/smack/docs/latest/documentation/providers.html

it seems that the two extension provider mechanism are equivalent? Is it right?

I’'ts simply up to me to choose or are there cases where one should be preferred?

Thanks a lot!

Fabio

An IQProvider parses the first and only subelement of an IQ packet.

/code

in this case the XML element that would be parsed woul be the

A packet extension on the other hand, in the case of an IQ packet for instance, would parse a subelement of this first element. I may have an element I commonly have in my IQ packets that I don’'t want to write into each individual IQProvider, or which may be included in a Presence or Message packet, a good example of this would be jabber:iq:data.

So in short, they basicly do the same thing, its just where you use them that matters. You may have a IQProvider the calls a PacketExtensionProvider for a commonly used namespace for instance.

Hope that helps,

Alex

Thx for your reply. However I still cant get the diffence

Maybe iproviding two examples for each case would help!

Thanx anyway.

fabio