Confused by libpurple/server.h

Marty martyspamtrap at
Thu Jun 10 14:41:41 EDT 2010

I'm a bit confused by who should or should not be using some of the functions in 
server.h.  I'm writing my own GUI around libpurple and I want to make sure that I'm 
calling the correct functions for various actions.

The functions in server.h seem to be fairly low-level functions in many cases, yet I 
see the Pidgin GUI using them directly for some user-initiated actions.

For example, if the user initiates a file transfer, Pidgin calls serv_send_file.  My 
initial instinct was that this should be accomplished by the purple_xfer_* API.

When a user initiates an IM, I'm using purple_conversation_new and purple_conv_write 
which seems to be working well, but I see there's a serv_send_im function.

I see in the typing notification code in Pidgin (got_typing_keypress) you call 
coversation APIs as well as serv APIs.

Can someone offer me a little insight about when to use these APIs?

More information about the Devel mailing list