How do I block user request to add me as his buddy?

… so, as the subject says, how to do it ? I’ve read the docs and I saw I can invite/block user in a multichat room. But want I want to implement in my app is the basic functionality of a IM client: I invite someone to be my buddy, he gets my invitation, he can accept/deny/block me. If he accepts my invitation we become buddies. Later on he can remove me as his buddy if he changes his mind.

Is this done in smack ? From the docs I get the impression I can use Roster to achieve this (http://www.igniterealtime.org/builds/smack/docs/latest/documentation/roster.html). Is this correct ? Or I must do this manually, on my own, sending my own messages between users ?

Thanks.