libpurple is intended to be the core of an IM program. When using libpurple, you’ll basically be writing a UI for this core chunk of code. Pidgin is a GTK frontend to libpurple, Finch is an ncurses frontend, and Adium is a Cocoa frontend.
How does it work?

You write a program in C or C that provides all the fancy windows and dialogs and anything that the user interacts with. Your program uses our libpurple library to connect to the IM networks, manage accounts and preferences, and lots of other helpful little things.

Your program registers a bunch of callback functions, called “UI ops,” with libpurple. This is done by populating the appropriate uiops structures (eg. PurpleAccountUiOps, PurpleBlistUiOps, etc.) and making them available to the libpurple core (by calling purple_account_set_ui_ops, purple_blist_set_ui_ops, etc.). These ui ops are triggered by specific events. For example, the buddylist ui ops are used to update your buddylist window when a new buddy is added, or if a buddy goes away, or becomes idle, etc. The same thing happens for conversations, logging etc.

While the uiops are sufficient for most of the ui operations, it’s likely that you will want to use various libpurple signals, as well.

 
icon for podpress  Other Media [0:53m]: Play Now | Play in Popup | Download

SPEAK / ADD YOUR COMMENT
Comments are moderated.

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Return to Top

What is libpurple?

FRESH / LATEST POSTS

 
New York, Aug 2007
 

New York, Aug 2007

Date: 15/08/07

ladyfest amsterdam

RSS links

  • twitter