/pidgin/main: a687c69fda79: Merge GPlugin branch

Jorge Villase?or salinasv at pidgin.im
Tue Apr 28 02:02:00 EDT 2015


Changeset: a687c69fda799c74cbb95d3be454b3af16706ac8
Author:	 Jorge Villase?or <salinasv at pidgin.im>
Date:	 2015-04-27 22:45 -0700
Branch:	 default
URL: https://hg.pidgin.im/pidgin/main/rev/a687c69fda79

Description:

Merge GPlugin branch

I have been using this code for few weeks now so it is at least as stable as default

diffstat:

 .hgignore                                           |     2 +
 ChangeLog                                           |    17 +
 ChangeLog.API                                       |   120 +-
 Makefile.am                                         |     1 +
 acinclude.m4                                        |     5 +-
 autogen.sh                                          |     2 +-
 configure.ac                                        |   412 +---
 doc/Makefile.am                                     |     2 -
 doc/PERL-HOWTO.dox                                  |   613 -----
 doc/TCL-HOWTO.dox                                   |   362 ---
 doc/reference/finch/Makefile.am                     |     4 +
 doc/reference/libpurple/Makefile.am                 |     9 +-
 doc/reference/libpurple/libpurple-docs.xml          |     6 +-
 doc/reference/libpurple/plugin_i18n.xml             |     8 +-
 doc/reference/libpurple/plugin_ids.xml              |    11 +-
 doc/reference/libpurple/signals_protocol.xml        |    63 +
 doc/reference/libpurple/tut_c_plugins.xml           |   267 +-
 doc/reference/libpurple/tut_signals.xml             |     2 +-
 doc/reference/pidgin/Makefile.am                    |     8 +-
 finch/Makefile.am                                   |    63 +
 finch/gntaccount.c                                  |   126 +-
 finch/gntblist.c                                    |   127 +-
 finch/gntconv.c                                     |    45 +-
 finch/gntlog.c                                      |     2 +-
 finch/gntmedia.c                                    |     2 +-
 finch/gntplugin.c                                   |   268 +-
 finch/gntplugin.h                                   |    94 +-
 finch/gntpounce.c                                   |     2 +-
 finch/gntroomlist.c                                 |    14 +-
 finch/gntxfer.c                                     |     2 +-
 finch/libfinch.c                                    |    21 +-
 finch/libgnt/Makefile.am                            |    39 +
 finch/libgnt/gntkeys.h                              |   122 +-
 finch/libgnt/wms/Makefile.am                        |     1 +
 finch/plugins/Makefile.am                           |     1 +
 finch/plugins/gntclipboard.c                        |    77 +-
 finch/plugins/gntgf.c                               |   111 +-
 finch/plugins/gnthistory.c                          |    70 +-
 finch/plugins/gnttinyurl.c                          |   129 +-
 finch/plugins/grouping.c                            |   109 +-
 finch/plugins/lastlog.c                             |    68 +-
 libpurple/Makefile.am                               |    80 +-
 libpurple/Makefile.mingw                            |     5 +-
 libpurple/account.c                                 |   188 +-
 libpurple/account.h                                 |     2 +-
 libpurple/accountopt.c                              |     2 +-
 libpurple/accounts.c                                |     2 +-
 libpurple/blistnodetypes.c                          |    46 +-
 libpurple/buddyicon.c                               |    66 +-
 libpurple/buddyicon.h                               |    68 +-
 libpurple/buddylist.c                               |    16 +-
 libpurple/cmds.c                                    |    32 +-
 libpurple/cmds.h                                    |    14 +-
 libpurple/connection.c                              |   117 +-
 libpurple/connection.h                              |    12 +-
 libpurple/conversation.c                            |    22 +-
 libpurple/conversation.h                            |     2 +-
 libpurple/conversationtypes.c                       |    43 +-
 libpurple/core.c                                    |    28 +-
 libpurple/dbus-analyze-functions.py                 |     5 +-
 libpurple/dbus-define-api.h                         |     3 +
 libpurple/dbus-server.h                             |     3 +-
 libpurple/example/Makefile.am                       |     2 +
 libpurple/example/nullclient.c                      |    36 +-
 libpurple/internal.h                                |     2 -
 libpurple/keyring.c                                 |    20 +-
 libpurple/log.c                                     |    49 +-
 libpurple/media.c                                   |    30 +-
 libpurple/media.h                                   |    10 +-
 libpurple/media/backend-fs2.c                       |     8 +-
 libpurple/media/backend-iface.c                     |    11 +-
 libpurple/mediamanager.c                            |     4 +-
 libpurple/network.h                                 |     2 +-
 libpurple/notify.h                                  |     2 +-
 libpurple/plugin.c                                  |  2238 +++++++-----------
 libpurple/plugin.h                                  |  1259 ++++++----
 libpurple/plugins/Makefile.am                       |    28 +-
 libpurple/plugins/autoaccept.c                      |   131 +-
 libpurple/plugins/buddynote.c                       |    65 +-
 libpurple/plugins/caesarcipher.c                    |   216 +
 libpurple/plugins/caesarcipher.h                    |    67 +
 libpurple/plugins/caesarcipher_consumer.c           |   117 +
 libpurple/plugins/ciphertest.c                      |    69 +-
 libpurple/plugins/codeinline.c                      |    72 +-
 libpurple/plugins/dbus-example.c                    |    69 +-
 libpurple/plugins/debug_example.c                   |    70 +-
 libpurple/plugins/filectl.c                         |    64 +-
 libpurple/plugins/helloworld.c                      |    76 +-
 libpurple/plugins/idle.c                            |    84 +-
 libpurple/plugins/ipc-test-client.c                 |   114 -
 libpurple/plugins/ipc-test-server.c                 |    99 -
 libpurple/plugins/joinpart.c                        |   159 +-
 libpurple/plugins/keyrings/Makefile.am              |     1 +
 libpurple/plugins/keyrings/gnomekeyring.c           |    69 +-
 libpurple/plugins/keyrings/internalkeyring.c        |    88 +-
 libpurple/plugins/keyrings/kwallet.cpp              |    66 +-
 libpurple/plugins/keyrings/secretservice.c          |    78 +-
 libpurple/plugins/keyrings/wincred.c                |    67 +-
 libpurple/plugins/log_reader.c                      |   277 +-
 libpurple/plugins/mono/loader/Makefile.am           |     3 +-
 libpurple/plugins/mono/loader/mono-helper.h         |     2 +-
 libpurple/plugins/mono/loader/mono.c                |    73 +-
 libpurple/plugins/notify_example.c                  |    65 +-
 libpurple/plugins/offlinemsg.c                      |    95 +-
 libpurple/plugins/one_time_password.c               |   109 +-
 libpurple/plugins/perl/Makefile.am                  |     5 +-
 libpurple/plugins/perl/common/BuddyIcon.xs          |     2 +-
 libpurple/plugins/perl/common/Cmds.xs               |    12 +-
 libpurple/plugins/perl/common/Prpl.xs               |    33 +-
 libpurple/plugins/perl/common/module.h              |    10 +-
 libpurple/plugins/perl/perl-common.h                |     2 +-
 libpurple/plugins/perl/perl-handlers.c              |     8 +-
 libpurple/plugins/perl/perl-handlers.h              |     6 +-
 libpurple/plugins/perl/perl.c                       |    90 +-
 libpurple/plugins/perl/scripts/account.pl           |     2 +-
 libpurple/plugins/perl/scripts/buddy_list.pl        |     2 +-
 libpurple/plugins/perl/scripts/conversation.pl      |     2 +-
 libpurple/plugins/perl/scripts/plugin_pref.pl       |     2 +-
 libpurple/plugins/pluginpref_example.c              |    80 +-
 libpurple/plugins/psychic.c                         |    91 +-
 libpurple/plugins/signals-test.c                    |    77 +-
 libpurple/plugins/simple.c                          |    71 +-
 libpurple/plugins/ssl/Makefile.am                   |     1 +
 libpurple/plugins/ssl/nss-prefs.c                   |   106 +-
 libpurple/plugins/ssl/ssl-gnutls.c                  |    73 +-
 libpurple/plugins/ssl/ssl-nss.c                     |    72 +-
 libpurple/plugins/ssl/ssl.c                         |   112 +-
 libpurple/plugins/statenotify.c                     |    96 +-
 libpurple/plugins/tcl/Makefile.am                   |     3 +-
 libpurple/plugins/tcl/tcl.c                         |    87 +-
 libpurple/plugins/tcl/tcl_cmd.c                     |     2 +-
 libpurple/plugins/tcl/tcl_cmds.c                    |     4 +-
 libpurple/plugins/tcl/tcl_purple.h                  |     4 +-
 libpurple/prefs.c                                   |     2 +-
 libpurple/presence.c                                |    18 +-
 libpurple/protocol.c                                |  1096 +++++++++
 libpurple/protocol.h                                |  1191 ++++++++++
 libpurple/prpl.c                                    |   409 ++-
 libpurple/prpl.h                                    |   878 ++-----
 libpurple/protocols/bonjour/Makefile.am             |     1 +
 libpurple/protocols/bonjour/bonjour.c               |   259 +-
 libpurple/protocols/bonjour/bonjour.h               |    26 +-
 libpurple/protocols/bonjour/buddy.c                 |     8 +-
 libpurple/protocols/gg/Makefile.am                  |     1 +
 libpurple/protocols/gg/chat.c                       |     4 +-
 libpurple/protocols/gg/edisc.c                      |     2 +-
 libpurple/protocols/gg/gg.c                         |   340 +-
 libpurple/protocols/gg/gg.h                         |    19 +
 libpurple/protocols/gg/pubdir-prpl.c                |    16 +-
 libpurple/protocols/gg/pubdir-prpl.h                |     8 +-
 libpurple/protocols/gg/status.c                     |     6 +-
 libpurple/protocols/irc/Makefile.am                 |     1 +
 libpurple/protocols/irc/irc.c                       |   317 +-
 libpurple/protocols/irc/irc.h                       |    21 +-
 libpurple/protocols/irc/msgs.c                      |     8 +-
 libpurple/protocols/irc/parse.c                     |    23 +-
 libpurple/protocols/jabber/Makefile.am              |    38 +-
 libpurple/protocols/jabber/Makefile.mingw           |    40 +-
 libpurple/protocols/jabber/adhoccommands.c          |    10 +-
 libpurple/protocols/jabber/buddy.c                  |    12 +-
 libpurple/protocols/jabber/buddy.h                  |     4 +-
 libpurple/protocols/jabber/caps.c                   |     4 +-
 libpurple/protocols/jabber/chat.c                   |    12 +-
 libpurple/protocols/jabber/chat.h                   |     4 +-
 libpurple/protocols/jabber/libfacebook.c            |   288 +-
 libpurple/protocols/jabber/facebook.h               |    54 +
 libpurple/protocols/jabber/facebook_roster.c        |     3 +-
 libpurple/protocols/jabber/google/google_p2p.c      |    23 +-
 libpurple/protocols/jabber/google/google_p2p.h      |     7 +-
 libpurple/protocols/jabber/google/google_presence.c |     4 +-
 libpurple/protocols/jabber/google/google_roster.c   |     2 +-
 libpurple/protocols/jabber/google/google_session.c  |     6 +-
 libpurple/protocols/jabber/libgtalk.c               |   278 +--
 libpurple/protocols/jabber/gtalk.h                  |    54 +
 libpurple/protocols/jabber/iq.c                     |     4 +-
 libpurple/protocols/jabber/jabber.c                 |   496 +++-
 libpurple/protocols/jabber/jabber.h                 |    32 +-
 libpurple/protocols/jabber/jingle/content.c         |    23 +-
 libpurple/protocols/jabber/jingle/content.h         |     7 +-
 libpurple/protocols/jabber/jingle/iceudp.c          |    23 +-
 libpurple/protocols/jabber/jingle/iceudp.h          |     7 +-
 libpurple/protocols/jabber/jingle/rawudp.c          |    23 +-
 libpurple/protocols/jabber/jingle/rawudp.h          |     7 +-
 libpurple/protocols/jabber/jingle/rtp.c             |    27 +-
 libpurple/protocols/jabber/jingle/rtp.h             |     7 +-
 libpurple/protocols/jabber/jingle/session.c         |    23 +-
 libpurple/protocols/jabber/jingle/session.h         |     7 +-
 libpurple/protocols/jabber/jingle/transport.c       |    23 +-
 libpurple/protocols/jabber/jingle/transport.h       |     7 +-
 libpurple/protocols/jabber/message.c                |     4 +-
 libpurple/protocols/jabber/presence.c               |    16 +-
 libpurple/protocols/jabber/roster.c                 |     2 +-
 libpurple/protocols/jabber/si.c                     |     6 +-
 libpurple/protocols/jabber/useravatar.c             |     2 +-
 libpurple/protocols/jabber/usermood.c               |     4 +-
 libpurple/protocols/jabber/usernick.c               |     6 +-
 libpurple/protocols/jabber/usertune.c               |     4 +-
 libpurple/protocols/jabber/libxmpp.c                |   261 +--
 libpurple/protocols/jabber/xmpp.h                   |    54 +
 libpurple/protocols/msn/Makefile.am                 |     1 +
 libpurple/protocols/msn/contact.c                   |     4 +-
 libpurple/protocols/msn/msg.c                       |     6 +-
 libpurple/protocols/msn/msn.c                       |   408 +-
 libpurple/protocols/msn/msn.h                       |    21 +
 libpurple/protocols/msn/slplink.c                   |     2 +-
 libpurple/protocols/msn/slpmsg_part.c               |     2 +-
 libpurple/protocols/msn/soap.c                      |     2 +
 libpurple/protocols/msn/user.c                      |    22 +-
 libpurple/protocols/mxit/Makefile.am                |     5 +-
 libpurple/protocols/mxit/Makefile.mingw             |     2 +-
 libpurple/protocols/mxit/actions.c                  |    43 +-
 libpurple/protocols/mxit/actions.h                  |     2 +-
 libpurple/protocols/mxit/chunk.c                    |     2 +-
 libpurple/protocols/mxit/protocol.c                 |     2 +-
 libpurple/protocols/mxit/protocol.h                 |     0 
 libpurple/protocols/mxit/filexfer.c                 |     2 +-
 libpurple/protocols/mxit/formcmds.c                 |     2 +-
 libpurple/protocols/mxit/formcmds.h                 |     2 +-
 libpurple/protocols/mxit/login.c                    |     2 +-
 libpurple/protocols/mxit/markup.c                   |     2 +-
 libpurple/protocols/mxit/multimx.c                  |     6 +-
 libpurple/protocols/mxit/mxit.c                     |   324 +-
 libpurple/protocols/mxit/mxit.h                     |    35 +-
 libpurple/protocols/mxit/roster.c                   |    30 +-
 libpurple/protocols/mxit/splashscreen.c             |     2 +-
 libpurple/protocols/novell/Makefile.am              |     4 +-
 libpurple/protocols/novell/novell.c                 |   257 +-
 libpurple/protocols/novell/novell.h                 |    49 +
 libpurple/protocols/null/Makefile.am                |     7 +-
 libpurple/protocols/null/README                     |     8 +-
 libpurple/protocols/null/nullprpl.c                 |   533 ++--
 libpurple/protocols/null/nullprpl.h                 |    49 +
 libpurple/protocols/oscar/Makefile.am               |    32 +-
 libpurple/protocols/oscar/Makefile.mingw            |    29 +-
 libpurple/protocols/oscar/libaim.c                  |   168 +-
 libpurple/protocols/oscar/aim.h                     |    54 +
 libpurple/protocols/oscar/authorization.c           |     4 +-
 libpurple/protocols/oscar/family_icbm.c             |     2 +-
 libpurple/protocols/oscar/family_icq.c              |     2 +-
 libpurple/protocols/oscar/family_locate.c           |    12 +-
 libpurple/protocols/oscar/libicq.c                  |   153 +-
 libpurple/protocols/oscar/icq.h                     |    54 +
 libpurple/protocols/oscar/oft.c                     |     2 +-
 libpurple/protocols/oscar/oscar.c                   |   352 ++-
 libpurple/protocols/oscar/oscar.h                   |    24 +
 libpurple/protocols/oscar/oscarcommon.h             |     9 +-
 libpurple/protocols/oscar/visibility.c              |     8 +-
 libpurple/protocols/oscar/visibility.h              |     8 +-
 libpurple/protocols/sametime/Makefile.am            |     1 +
 libpurple/protocols/sametime/sametime.c             |   710 +++--
 libpurple/protocols/sametime/sametime.h             |    27 +
 libpurple/protocols/silc/Makefile.am                |     1 +
 libpurple/protocols/silc/buddy.c                    |     6 +-
 libpurple/protocols/silc/chat.c                     |     6 +-
 libpurple/protocols/silc/ops.c                      |     8 +-
 libpurple/protocols/silc/silc.c                     |   514 ++-
 libpurple/protocols/silc/silcpurple.h               |    21 +-
 libpurple/protocols/simple/Makefile.am              |     1 +
 libpurple/protocols/simple/simple.c                 |   231 +-
 libpurple/protocols/simple/simple.h                 |    21 +-
 libpurple/protocols/simple/sipmsg.c                 |     4 +-
 libpurple/protocols/yahoo/Makefile.am               |    42 +-
 libpurple/protocols/yahoo/Makefile.mingw            |    35 +-
 libpurple/protocols/yahoo/util.c                    |     4 +-
 libpurple/protocols/yahoo/libyahoo.c                |   374 +-
 libpurple/protocols/yahoo/yahoo.h                   |    49 +
 libpurple/protocols/yahoo/yahoo_aliases.c           |     2 +-
 libpurple/protocols/yahoo/yahoo_aliases.h           |     2 +-
 libpurple/protocols/yahoo/yahoo_doodle.c            |     4 +-
 libpurple/protocols/yahoo/yahoo_filexfer.c          |     4 +-
 libpurple/protocols/yahoo/yahoo_friend.c            |     2 +-
 libpurple/protocols/yahoo/yahoo_friend.h            |     2 +-
 libpurple/protocols/yahoo/yahoo_packet.c            |     4 +-
 libpurple/protocols/yahoo/yahoo_picture.c           |     4 +-
 libpurple/protocols/yahoo/yahoo_profile.c           |     4 +-
 libpurple/protocols/yahoo/yahoochat.c               |     8 +-
 libpurple/protocols/yahoo/libyahoojp.c              |   225 +-
 libpurple/protocols/yahoo/yahoojp.h                 |    57 +
 libpurple/protocols/yahoo/ycht.c                    |     4 +-
 libpurple/protocols/yahoo/libymsg.c                 |    54 +-
 libpurple/protocols/yahoo/libymsg.h                 |    16 +-
 libpurple/protocols/zephyr/Makefile.am              |     6 +-
 libpurple/protocols/zephyr/zephyr.c                 |   400 +-
 libpurple/protocols/zephyr/zephyr.h                 |    49 +
 libpurple/purple-remote                             |     4 +-
 libpurple/purple-send                               |     2 +-
 libpurple/purple.h.in                               |     4 +-
 libpurple/roomlist.c                                |    60 +-
 libpurple/savedstatuses.c                           |     4 +-
 libpurple/server.c                                  |   216 +-
 libpurple/server.h                                  |   188 +-
 libpurple/signals.c                                 |     6 +-
 libpurple/sslconn.c                                 |     7 +-
 libpurple/status.c                                  |     2 +-
 libpurple/tests/Makefile.am                         |     6 +-
 libpurple/tests/test_yahoo_util.c                   |     2 +-
 libpurple/util.c                                    |    30 +-
 libpurple/util.h                                    |     6 +-
 libpurple/whiteboard.c                              |    94 +-
 libpurple/whiteboard.h                              |     8 +-
 libpurple/xfer.c                                    |    59 +-
 libpurple/xfer.h                                    |     4 +-
 m4macros/introspection.m4                           |    96 +
 pidgin/Makefile.am                                  |    54 +-
 pidgin/gtkaccount.c                                 |   198 +-
 pidgin/gtkblist.c                                   |   364 +-
 pidgin/gtkconv-theme-loader.c                       |     1 +
 pidgin/gtkconv.c                                    |   215 +-
 pidgin/gtkdialogs.c                                 |    91 +-
 pidgin/gtkdocklet.c                                 |    32 +-
 pidgin/gtklog.c                                     |    12 +-
 pidgin/gtknotify.c                                  |     8 +-
 pidgin/gtkplugin.c                                  |   410 ++-
 pidgin/gtkplugin.h                                  |    69 +-
 pidgin/gtkpounce.c                                  |     4 +-
 pidgin/gtkprefs.c                                   |     2 +-
 pidgin/gtkrequest.c                                 |    16 +-
 pidgin/gtkroomlist.c                                |    14 +-
 pidgin/gtksavedstatuses.c                           |     2 +-
 pidgin/gtkstatusbox.c                               |    89 +-
 pidgin/gtkutils.c                                   |   152 +-
 pidgin/gtkutils.h                                   |    18 +-
 pidgin/gtkwebviewtoolbar.c                          |    10 +-
 pidgin/gtkwhiteboard.c                              |     4 +-
 pidgin/gtkxfer.c                                    |     6 +-
 pidgin/libpidgin.c                                  |    23 +-
 pidgin/plugins/Makefile.am                          |     8 +-
 pidgin/plugins/cap/Makefile.am                      |     1 +
 pidgin/plugins/cap/cap.c                            |   126 +-
 pidgin/plugins/cap/cap.h                            |     5 +-
 pidgin/plugins/contact_priority.c                   |    80 +-
 pidgin/plugins/crazychat/Makefile.am                |     1 +
 pidgin/plugins/crazychat/cc_pidgin_plugin.c         |     2 +-
 pidgin/plugins/disco/Makefile.am                    |     3 +-
 pidgin/plugins/disco/gtkdisco.c                     |     2 +-
 pidgin/plugins/disco/xmppdisco.c                    |    96 +-
 pidgin/plugins/disco/xmppdisco.h                    |     7 +-
 pidgin/plugins/extplacement.c                       |   102 +-
 pidgin/plugins/gestures/Makefile.am                 |     3 +-
 pidgin/plugins/gestures/gestures.c                  |   168 +-
 pidgin/plugins/gevolution/Makefile.am               |     5 +-
 pidgin/plugins/gevolution/add_buddy_dialog.c        |    12 +-
 pidgin/plugins/gevolution/assoc-buddy.c             |     4 +-
 pidgin/plugins/gevolution/eds-utils.c               |     2 +-
 pidgin/plugins/gevolution/gevo-util.c               |    22 +-
 pidgin/plugins/gevolution/gevolution.c              |   184 +-
 pidgin/plugins/gevolution/gevolution.h              |     4 +-
 pidgin/plugins/gtk-signals-test.c                   |    70 +-
 pidgin/plugins/gtkbuddynote.c                       |   109 +-
 pidgin/plugins/history.c                            |    67 +-
 pidgin/plugins/iconaway.c                           |    70 +-
 pidgin/plugins/imgupload.c                          |   176 +-
 pidgin/plugins/mailchk.c                            |    75 +-
 pidgin/plugins/markerline.c                         |   108 +-
 pidgin/plugins/musicmessaging/Makefile.am           |     1 +
 pidgin/plugins/musicmessaging/musicmessaging.c      |   169 +-
 pidgin/plugins/notify.c                             |   127 +-
 pidgin/plugins/perl/Makefile.am                     |     1 +
 pidgin/plugins/pidgininc.c                          |    82 +-
 pidgin/plugins/raw.c                                |    96 +-
 pidgin/plugins/relnot.c                             |    76 +-
 pidgin/plugins/screencap.c                          |    84 +-
 pidgin/plugins/sendbutton.c                         |    70 +-
 pidgin/plugins/spellchk.c                           |   144 +-
 pidgin/plugins/themeedit.c                          |    79 +-
 pidgin/plugins/ticker/Makefile.am                   |     3 +-
 pidgin/plugins/ticker/gtkticker.c                   |    34 +-
 pidgin/plugins/ticker/gtkticker.h                   |     4 +
 pidgin/plugins/ticker/ticker.c                      |    74 +-
 pidgin/plugins/unity.c                              |    96 +-
 pidgin/plugins/webkit.c                             |    70 +-
 pidgin/plugins/win32/transparency/win2ktrans.c      |   168 +-
 pidgin/plugins/win32/winprefs/winprefs.c            |   132 +-
 pidgin/plugins/xmppconsole.c                        |   172 +-
 pidgin/win32/nsis/pidgin-installer.nsi              |    17 +-
 375 files changed, 15409 insertions(+), 14003 deletions(-)

diffs (truncated from 45247 to 300 lines):

diff --git a/.hgignore b/.hgignore
--- a/.hgignore
+++ b/.hgignore
@@ -24,6 +24,7 @@ syntax: regexp
 .*\.dll$
 .*\.exe$
 .*\.g?mo$
+.*\.gir$
 .*\.la$
 \.libs
 .*\.lo$
@@ -34,6 +35,7 @@ syntax: regexp
 .*\.pyo$
 .*\.rej$
 .*\.so$
+.*\.typelib$
 .*\.moc$
 VERSION$
 aclocal.m4
diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,6 +6,10 @@ version 3.0.0 (??/??/????):
 	* Ciphers are now built from the libpurple directory.
 	* Doxygen has been replaced by gtk-doc for generating documentation (Ankit
 	  Vani).
+	* Added dependency GPlugin, which is now required to build libpurple with
+	  plugins support.
+	* Added dependency gobject-introspection, which is now required to enable
+	  non-native plugin support.
 
 	libpurple:
 	* Specify a different set of encryption ciphers for TLS connections when
@@ -72,8 +76,21 @@ version 3.0.0 (??/??/????):
 	* Invalid user moods can no longer be sent to the server.
 
 	Plugins:
+	* A new plugin API has been introduced. Plugins are no longer required
+	  to be of a predefined type (such as protocol, standard, loader etc),
+	  and can perform multiple roles.
 	* The Offline Message Emulation plugin now adds a note that the message
 	  was an offline message. (Flavius Anton) (#2497)
+	* Two example plugins, caesarcipher and caesarcipher_consumer, have
+	  been added that demonstrate registering of a dynamic cipher type in
+	  one plugin and using it in another.
+	* IPC test plugins have been removed, since the new plugin API does not
+	  provide a seperate IPC API.
+
+	Protocols:
+	* A single oscar plugin provides both AIM and ICQ protocols.
+	* A single jabber plugin provides XMPP, GTalk and Facebook protocols.
+	* A single yahoo plugin provides both Yahoo and Yahoo JAPAN protocols.
 
 version 2.10.12 (MM/DD/YY):
 	Windows-Specific Changes:
diff --git a/ChangeLog.API b/ChangeLog.API
--- a/ChangeLog.API
+++ b/ChangeLog.API
@@ -78,7 +78,74 @@ version 3.0.0 (??/??/????):
 		* purple_menu_action_set_data
 		* purple_menu_action_set_callback
 		* purple_menu_action_set_children
-		* PurplePluginUiInfo.get_plugin_pref_request
+		* PurplePluginInfoFlags (PURPLE_PLUGIN_INFO_FLAGS_INTERNAL and
+		  PURPLE_PLUGIN_INFO_FLAGS_AUTO_LOAD)
+		* purple_plugin_get_dependent_plugins
+		* purple_plugin_get_filename
+		* purple_plugin_is_internal
+		* purple_plugin_info_new
+		* purple_plugin_get_info
+		* purple_plugin_info_get_abi_version
+		* purple_plugin_info_get_actions_cb
+		* purple_plugin_info_get_category
+		* purple_plugin_info_get_dependencies
+		* purple_plugin_info_get_error
+		* purple_plugin_info_get_extra_cb
+		* purple_plugin_info_get_flags
+		* purple_plugin_info_get_icon
+		* purple_plugin_info_get_license_id
+		* purple_plugin_info_get_license_text
+		* purple_plugin_info_get_license_url
+		* purple_plugin_info_get_pref_frame_cb
+		* purple_plugin_info_get_pref_request_cb
+		* purple_plugin_info_get_ui_data
+		* purple_plugin_info_set_ui_data
+		* purple_plugin_register_type
+		* purple_plugin_add_interface
+		* PURPLE_DEFINE_TYPE
+		* PURPLE_DEFINE_TYPE_EXTENDED
+		* PURPLE_IMPLEMENT_INTERFACE_STATIC
+		* PURPLE_IMPLEMENT_INTERFACE
+		* PURPLE_DEFINE_DYNAMIC_TYPE
+		* PURPLE_DEFINE_DYNAMIC_TYPE_EXTENDED
+		* PURPLE_IMPLEMENT_INTERFACE_DYNAMIC
+		* PURPLE_DEFINE_STATIC_TYPE
+		* PURPLE_DEFINE_STATIC_TYPE_EXTENDED
+		* PurpleProtocol, inherits GObject. Please see the documentation for
+		  details.
+		* PurpleProtocolAction
+		* PurpleProtocolOverrideFlags
+		* PurpleProtocolClientIface
+		* PurpleProtocolServerIface
+		* PurpleProtocolIMIface
+		* PurpleProtocolChatIface
+		* PurpleProtocolPrivacyIface
+		* PurpleProtocolXferIface
+		* PurpleProtocolRoomlistIface
+		* PurpleProtocolAttentionIface
+		* PurpleProtocolMediaIface
+		* PurpleProtocolFactoryIface
+		* purple_protocol_get_* for PurpleProtocol members
+		* purple_protocol_class_* for class methods
+		* purple_protocol_client_iface_* for client interface methods
+		* purple_protocol_server_iface_* for server interface methods
+		* purple_protocol_im_iface_* for IM interface methods
+		* purple_protocol_chat_iface_* for chat interface methods
+		* purple_protocol_privacy_iface_* for privacy interface methods
+		* purple_protocol_xfer_iface_* for xfer interface methods
+		* purple_protocol_roomlist_iface_* for roomlist interface methods
+		* purple_protocol_attention_iface_* for attention interface methods
+		* purple_protocol_media_iface_* for media interface methods
+		* purple_protocol_factory_iface_* for factory interface methods
+		* purple_protocol_action_new
+		* purple_protocol_action_free
+		* purple_protocols_add
+		* purple_protocols_remove
+		* purple_protocols_find
+		* purple_protocols_get_all
+		* purple_protocols_get_handle
+		* purple_protocols_init
+		* purple_protocols_uninit
 		* purple_request_certificate
 		* purple_request_field_certificate_new
 		* purple_request_field_certificate_get_value
@@ -132,6 +199,9 @@ version 3.0.0 (??/??/????):
 		* Files in libpurple/ciphers have been renamed. To use a particular
 		  cipher, include its header.
 		* Renamed ft.h file to xfer.h
+		* Renamed plugin.h file to plugins.h
+		* prpl.h has been split into protocol.h (PurpleProtocol GObject and
+		  protocol interfaces) and protocols.h (protocols subsystem)
 		* status.h has been split into status.h (Status API) and presence.h
 		  (Presence API)
 		* account-authorization-requested signal merged with
@@ -171,6 +241,7 @@ version 3.0.0 (??/??/????):
 		* purple_find_buddy renamed to purple_blist_find_buddy
 		* purple_find_group renamed to purple_blist_find_group
 		* purple_get_blist renamed to purple_blist_get_buddy_list
+		* PurpleBuddyIconSpec has been moved to buddyicon.h
 		* purple_certificate_check_signature_chain now returns a list of failing
 		  PurpleCertificate*s as the second parameter
 		* PurpleConversation is now an abstract type, and is a GObject. Please
@@ -224,11 +295,33 @@ version 3.0.0 (??/??/????):
 		  purple_notify_user_info_entry_set_entry_type
 		* purple_notify_user_info_prepend_pair renamed to
 		  purple_notify_user_info_prepend_pair_html
+		* PurplePlugin is now a GObject (alias for GPluginPlugin). Please see
+		  the documentation for details.
+		* PurplePluginInfo is now a GObject, inherits GPluginPluginInfo. Please
+		  see the documentation for details.
+		* PurplePluginAction no longer has a context field. Use
+		  PurpleProtocolAction for protocol actions.
+		* PURPLE_INIT_PLUGIN(pluginname, initfunc, plugininfo) is now
+		  PURPLE_PLUGIN_INIT(pluginname, query_func, load_func, unload_func).
+		  See "C Plugins tutorial" (tut_c_plugins.xml) for an example.
+		* purple_plugin_load and purple_plugin_unload now use an error argument
+		  to return load/unload errors
+		* purple_plugins_get_all is now purple_plugins_find_all, and the
+		  returned list of plugins MUST be free'd using g_list_free
+		* purple_plugin_get_* functions for plugin info are now
+		  purple_plugin_info_get_*
+		* purple_plugin_get_author is now purple_plugin_info_get_authors, and
+		  returns a NULL-terminated list of authors
+		* purple_plugins_probe is now purple_plugins_refresh
+		* purple_plugins_find_with_id renamed to purple_plugins_find_plugin
+		* purple_plugins_find_with_filename renamed to
+		  purple_plugins_find_by_filename
 		* purple_plugin_pref_get_type renamed to
 		  purple_plugin_pref_get_pref_type
 		* purple_plugin_pref_set_type renamed to
 		  purple_plugin_pref_set_pref_type
 		* purple_prefs_get_type renamed to purple_prefs_get_pref_type
+		* proto_chat_entry has been renamed to PurpleProtocolChatEntry
 		* purple_proxy_info_get_type renamed to purple_proxy_info_get_proxy_type
 		* purple_proxy_info_set_type renamed to purple_proxy_info_set_proxy_type
 		* purple_request_field_get_type renamed to
@@ -364,12 +457,30 @@ version 3.0.0 (??/??/????):
 		* purple_notify_searchresults_get_columns_count
 		* purple_notify_searchresults_get_rows_count
 		* purple_notify_searchresults_row_get
+		* PurplePluginType
+		* PurplePluginPriority
+		* PurplePluginLoaderInfo
+		* PurplePluginUiInfo
+		* purple_plugin_ipc_*
+		* purple_plugin_is_unloadable
+		* purple_plugin_new
+		* purple_plugin_probe
+		* purple_plugin_register
+		* purple_plugin_reload
+		* purple_plugins_destroy_all
+		* purple_plugins_enabled
+		* purple_plugins_find_with_basename
+		* purple_plugins_find_with_name
+		* purple_plugins_get_protocols
+		* purple_plugins_get_search_paths
 		* purple_plugins_register_load_notify_cb
 		* purple_plugins_register_probe_notify_cb
 		* purple_plugins_register_unload_notify_cb
 		* purple_plugins_unregister_load_notify_cb
 		* purple_plugins_unregister_probe_notify_cb
 		* purple_plugins_unregister_unload_notify_cb
+		* purple_plugins_unload
+		* purple_plugins_unload_all
 		* purple_pounces_load
 		* purple_prefs_set_generic
 		* purple_prefs_update_old
@@ -379,6 +490,7 @@ version 3.0.0 (??/??/????):
 		* purple_presence_new
 		* purple_presence_new_for_account
 		* purple_presence_new_for_buddy
+		* PurplePluginProtocolInfo
 		* purple_proxy_connect_socks5
 		* purple_request_field_list_add
 		* purple_srv_cancel
@@ -409,8 +521,6 @@ version 3.0.0 (??/??/????):
 		* PurplePluginProtocolInfo.add_buddy_with_invite
 		* PurplePluginProtocolInfo.add_buddies_with_invite
 		* PurplePluginProtocolInfo.get_cb_away
-		* PurplePluginUiInfo.page_num
-		* PurplePluginUiInfo.frame
 		* PurpleValue, use GValue instead.
 		* serv_got_attention
 		* serv_send_attention
@@ -440,6 +550,7 @@ version 3.0.0 (??/??/????):
 		Added:
 		* pidgin_create_webview
 		* PidginDockletFlag
+		* PidginPluginInfo, inherits PurplePluginInfo
 		* Various WebKit-related functions in gtkwebview.h
 
 		Changed:
@@ -491,6 +602,9 @@ version 3.0.0 (??/??/????):
 		* struct _PidginImPane
 
 	Finch:
+		Added:
+		* FinchPluginInfo, inherits PurplePluginInfo
+
 		Changed:
 		* gntft.h file renamed to gntxfer.h
 		* gnt_append_menu_action renamed to finch_append_menu_action
diff --git a/Makefile.am b/Makefile.am
--- a/Makefile.am
+++ b/Makefile.am
@@ -11,6 +11,7 @@ EXTRA_DIST = \
 		intltool-extract.in \
 		intltool-merge.in \
 		intltool-update.in \
+		m4macros/introspection.m4 \
 		package_revision.h \
 		pidgin.apspec.in \
 		po/Makefile.mingw \
diff --git a/acinclude.m4 b/acinclude.m4
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -6,7 +6,7 @@ AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
 # Owen Taylor     1997-2001
 
 dnl AM_PATH_GLIB_2_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
-dnl Test for GLIB, and define GLIB_CFLAGS and GLIB_LIBS, if gmodule, gobject or 
+dnl Test for GLIB, and define GLIB_CFLAGS and GLIB_LIBS, if gobject or 
 dnl gthread is specified in MODULES, pass to pkg-config
 dnl
 AC_DEFUN([AM_PATH_GLIB_2_0],
@@ -20,9 +20,6 @@ AC_ARG_ENABLE(glibtest, [  --disable-gli
   for module in . $4
   do
       case "$module" in
-         gmodule) 
-             pkg_config_args="$pkg_config_args gmodule-2.0"
-         ;;
          gobject) 
              pkg_config_args="$pkg_config_args gobject-2.0"
          ;;
diff --git a/autogen.sh b/autogen.sh
--- a/autogen.sh
+++ b/autogen.sh
@@ -154,7 +154,7 @@ fi
 check "$libtoolize";		LIBTOOLIZE=${BIN};
 check "glib-gettextize";	GLIB_GETTEXTIZE=${BIN};
 check "intltoolize";		INTLTOOLIZE=${BIN};
-check "sed";				SED=${BIN};
+check "sed";			SED=${BIN};
 check "aclocal";		ACLOCAL=${BIN};
 check "autoheader";		AUTOHEADER=${BIN};
 check "automake";		AUTOMAKE=${BIN};
diff --git a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac



More information about the Commits mailing list