pidgin/pidgin

d3fe2b899c89
Add membership management to PurpleConversation

This is one of many steps to making PurpleConversation handle all conversation
types instead of being an abstract class. In modern chat protocols the only
distinction between different types of conversations is an enum property and
members can join and leave dms, group dms, and multiple user chats. As such
this change is necessary to facilitate that.

Testing Done:
Ran the unit tests under valgrind and built and verified the docs looked alright.

Bugs closed: PIDGIN-17768

Reviewed at https://reviews.imfreedom.org/r/2287/
##############################################################################
# General Options
option('devenv-config-dir', type : 'string',
description : 'config directory for running a devenv (defaults to a subdirectory of buildroot)')
option('doc', type : 'boolean', value : false,
description : 'build documentation with gtk-doc')
option('extraversion', type : 'string',
description : 'extra version number to be displayed in Help->About and --help (for packagers)')
option('introspection', type : 'boolean', value : true,
description : 'build introspection data')
option('build-dependencies', type : 'boolean', value : false,
description : 'enable the use of subprojects to build missing dependencies.')
##############################################################################
# Libpurple Options
option('kwallet', type : 'feature',
description : 'enable KWallet support')
option('libsecret', type : 'feature',
description : 'enable libsecret support')
##############################################################################
# Protocol Plugins
option('avahi', type : 'feature',
description : 'compile with avahi (required for Bonjour support)')
option('dynamic-prpls', type : 'string', value: 'all',
description : 'specify which protocols to build dynamically')
option('libgadu', type : 'feature',
description : 'compile with libgadu (required for GaduGadu support)')
##############################################################################
# Pidgin Options
option('console-logging', type : 'boolean', value : false,
description : 'compile with console logging support')
option('gtkui', type : 'boolean', value : true,
description : 'compile with GTK+ user interface')
option('unity-integration', type : 'feature',
description : 'compile with support for unity integration plugin')
##############################################################################
# Finch Options
option('consoleui', type : 'boolean', value : true,
description : 'compile with console user interface')
option('x', type : 'boolean', value : true)