pidgin/pidgin
Clone
Summary
Browse
Changes
Graph
Remove PidginDialog
18 months ago, Elliott Sales de Andrade
e41631a5f894
Remove PidginDialog
This was transitional, but everything uses templated widgets now. Only the request
API manually calls it, and it can be inlined there.
Testing Done:
Compiled only.
Reviewed at https://reviews.imfreedom.org/r/2099/
Pidgin
and
Finch
:
The
Pimpin
' Penguin IM Clients That'
re
Good
for
the
Soul
This
file
intends
to
list
all
changes
to
libpurple
,
Pidgin
,
and
Finch
's public
API
.
We
sometimes
forget
to
add
changes
to
this
file
--
sorry
.
If
your
plugin
fails
to
build
with
a
new
major
version
(
e
.
g
.
3.0
.
0
)
we
suggest
checking
this
list
first
,
in
case
a
function
was
simply
renamed
.
You
may
still
need
to
consult
our
API
docs
or
our
source
code
.
If
you
notice
something
missing
from
this
list
,
please
let
us
know
and
we
'll
add
it
.
version
3.0
.
0
(
??
/
??
/
????
):
libpurple
:
Added
:
*
displaying
-
emails
-
clear
signal
(
notification
signal
)
*
purple_gdk_pixbuf_make_round
*
purple_gdk_pixbuf_is_opaque
*
purple_gdk_pixbuf_from_data
*
purple_gdk_pixbuf_from_image
*
purple_gdk_pixbuf_new_from_file
*
purple_gdk_pixbuf_new_from_file_at_size
*
PurplePluginInfoFlags
(
PURPLE_PLUGIN_INFO_FLAGS_INTERNAL
and
PURPLE_PLUGIN_INFO_FLAGS_AUTO_LOAD
)
*
purple_plugin_get_dependent_plugins
*
purple_plugin_is_internal
*
purple_plugin_info_new
*
purple_plugin_get_info
*
purple_plugin_info_get_error
*
purple_plugin_info_get_extra_cb
*
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
*
PurpleProtocol
,
inherits
GObject
.
Please
see
the
documentation
for
details
.
*
PurpleProtocolAction
*
PurpleProtocolOverrideFlags
*
PurpleProtocolClientIface
*
PurpleProtocolServerIface
*
PurpleProtocolChatIface
*
PurpleProtocolXferIface
*
PurpleProtocolRoomlistIface
*
PurpleProtocolMediaIface
*
PurpleProtocolFactoryIface
*
purple_protocol_get_
*
for
PurpleProtocol
members
*
purple_protocol_class_
*
for
class
methods
*
purple_protocol_server_iface_
*
for
server
interface
methods
*
purple_protocol_factory_iface_
*
for
factory
interface
methods
*
purple_protocol_action_new
*
purple_protocol_action_free
*
purple_request_certificate
*
purple_request_field_certificate_new
*
purple_request_field_certificate_get_value
*
purple_request_field_choice_add_full
*
purple_request_field_get_tooltip
*
purple_request_field_group_get_fields_list
*
purple_request_field_list_has_icons
*
purple_request_field_set_tooltip
*
purple_request_fields_get_ui_data
*
purple_request_fields_set_ui_data
*
purple_roomlist_get_account
*
purple_roomlist_get_proto_data
*
purple_roomlist_room_get_expanded_once
*
purple_roomlist_room_set_expanded_once
*
purple_roomlist_set_proto_data
*
purple_whiteboard_get_account
*
purple_whiteboard_get_draw_list
*
purple_whiteboard_set_draw_list
*
purple_whiteboard_get_protocol_data
*
purple_whiteboard_set_protocol_data
*
purple_whiteboard_get_state
*
purple_whiteboard_set_state
*
purple_whiteboard_get_ui_data
*
purple_whiteboard_set_ui_data
*
purple_whiteboard_get_who
*
purple_xfer_get_fd
*
purple_xfer_get_message
*
purple_xfer_get_protocol_data
*
purple_xfer_get_ui_data
*
purple_xfer_get_watcher
*
purple_xfer_set_fd
*
purple_xfer_set_local_port
*
purple_xfer_set_protocol_data
*
purple_xfer_set_remote_user
*
purple_xfer_set_status
*
purple_xfer_set_ui_data
*
purple_xfer_set_watcher
*
purple_xmlnode_get_default_namespace
*
purple_xmlnode_strip_prefixes
Changed
:
*
account
.
h
has
been
split
into
account
.
h
(
PurpleAccount
GObject
)
and
accounts
.
h
(
Accounts
subsystem
)
*
blist
.
h
has
been
split
into
buddylist
.
h
(
PurpleBuddyList
and
subsystem
),
blistnode
.
h
(
PurpleBlistNode
and
PurpleCountingNode
GObjects
),
blistnodetypes
(
Buddy
,
Chat
,
Contact
,
Group
GObjects
)
*
circbuffer
.
h
renamed
to
circularbuffer
.
h
*
conversation
.
h
has
been
split
into
conversation
.
h
(
PurpleConversation
),
conversationtypes
.
h
(
PurpleIMConversation
and
PurpleChatConversation
)
and
conversations
.
h
(
Conversations
subsystem
)
*
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
)
*
purple_account_add_buddy
now
takes
an
invite
message
as
the
last
parameter
*
purple_account_add_buddies
now
takes
an
invite
message
as
the
last
parameter
*
PurpleAccount
is
now
a
GObject
.
Please
see
the
documentation
for
details
.
*
purple_account_get_alias
renamed
to
purple_account_get_private_alias
*
purple_account_set_alias
renamed
to
purple_account_set_private_alias
*
purple_account_set_status_list
renamed
to
purple_account_set_status_attrs
*
purple_account_option_get_type
renamed
to
purple_account_option_get_pref_type
*
PurplePrivacyType
renamed
to
PurpleAccountPrivacyType
*
purple_privacy_
*
functions
are
now
purple_account_privacy_
*
*
Removed
arguments
local
and
restore
from
purple_account_privacy_allow
and
purple_account_privacy_deny
*
PurpleBlistNode
is
now
a
GObject
.
Please
see
the
documentation
for
details
.
*
purple_blist_alias_buddy
renamed
to
purple_buddy_set_local_alias
*
purple_blist_alias_chat
renamed
to
purple_chat_set_alias
*
purple_blist_alias_contact
renamed
to
purple_contact_set_alias
*
purple_blist_get_root
now
takes
a
PurpleBuddyList
parameter
;
use
purple_blist_get_default_root
to
work
on
the
default
buddy
list
as
before
*
purple_blist_merge_contact
renamed
to
purple_contact_merge
*
purple_blist_rename_buddy
renamed
to
purple_buddy_set_name
*
purple_blist_rename_group
renamed
to
purple_group_set_name
*
purple_blist_server_alias_buddy
renamed
to
*
purple_blist_update_buddy_status
renamed
to
purple_buddy_update_status
purple_buddy_set_server_alias
*
purple_buddy_get_local_buddy_alias
renamed
to
purple_buddy_get_local_alias
*
PurpleContact
and
PurpleGroup
inherit
PurpleCountingNode
*
PurpleBuddyList
is
now
a
GObject
.
Please
see
the
documentation
for
details
.
*
purple_find_buddies
renamed
to
purple_blist_find_buddies
*
purple_find_buddy_in_group
renamed
to
purple_blist_find_buddy_in_group
*
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_default
*
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
see
the
documentation
for
details
.
*
purple_conv_
*
functions
are
now
purple_conversation_
*
*
purple_conv_im_
*
functions
are
now
purple_im_conversation_
*
*
purple_conv_chat_
*
functions
are
now
purple_chat_conversation_
*
*
purple_chat_conversation_find_user
renamed
to
purple_chat_conversation_has_user
*
PurpleTypingState
renamed
to
PurpleIMTypingState
*
PurpleConvChatBuddy
changed
to
PurpleChatUser
,
is
now
a
GObject
.
Please
see
the
documentation
for
details
.
*
purple_conv_chat_cb_
*
functions
are
now
purple_chat_user_
*
*
Replaced
'chat-buddy'
with
'chat-user'
in
conversation
signals
*
Replaced
chatname
,
buddyname
arguments
of
'chat-user-flags'
(
formerly
'chat-buddy-flags'
)
signal
with
PurpleChatUser
*
*
PurpleCircBuffer
changed
to
PurpleCircularBuffer
,
is
now
a
GObject
.
Please
see
the
documentation
for
details
.
*
purple_circ_buffer_
*
functions
are
now
purple_circular_buffer_
*
*
purple_connection_error
now
takes
a
PurpleConnectionError
as
the
second
parameter
*
PurpleConnection
is
now
a
GObject
.
Please
see
the
documentation
for
details
.
*
PURPLE_CONNECTION_
*
prefix
of
PurpleConnectionFlag
enum
names
changed
to
PURPLE_CONNECTION_FLAG_
*
*
PURPLE_
*
prefix
of
PurpleConnectionState
enum
names
changed
to
PURPLE_CONNECTION_
*
*
purple_conversation_get_gc
renamed
to
purple_conversation_get_connection
*
purple_dnsquery_a
now
takes
a
PurpleAccount
as
the
first
parameter
*
PurpleIconScaleRules
renamed
to
PurpleBuddyIconScaleFlags
*
purple_imgstore_add
renamed
to
purple_imgstore_new
*
purple_imgstore_add_with_id
renamed
to
purple_imgstore_new_with_id
*
PurpleLog
,
purple_log_new
,
purple_log_write
and
PurpleLogLogger
->
write
take
a
GDateTime
instead
of
a
time_t
and
struct
tm
*
purple_media_add_stream
and
purple_media_backend_add_stream
(
and
its
interface
vfunc
)
and
take
a
hash
table
of
string
->
GValue
parameters
instead
of
an
array
of
GParameter
*
purple_media_set_params
and
purple_media_backend_set_params
(
and
its
interface
vfunc
)
take
a
hash
table
of
string
->
GValue
parameters
instead
of
an
array
of
GParameter
*
PurpleNotifyMsgType
renamed
to
PurpleNotifyMessageType
*
purple_notify_user_info_add_pair
renamed
to
purple_notify_user_info_add_pair_html
*
purple_notify_user_info_get_entries
returns
a
GQueue
instead
of
a
GList
*
purple_notify_user_info_entry_get_type
renamed
to
purple_notify_user_info_entry_get_entry_type
*
purple_notify_user_info_entry_set_type
renamed
to
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
.
*
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
*
PurpleProxyType
members
are
now
name
spaced
under
PURPLE_PROXY_TYPE_
*
*
purple_proxy_info_get_host
renamed
to
purple_proxy_info_get_hostname
*
purple_proxy_info_get_type
renamed
to
purple_proxy_info_get_proxy_type
*
purple_proxy_info_set_host
renamed
to
purple_proxy_info_set_hostname
*
purple_proxy_info_set_type
renamed
to
purple_proxy_info_set_proxy_type
*
purple_request_field_get_type
renamed
to
purple_request_field_get_field_type
*
PurpleRoomlist
is
now
a
GObject
.
Please
see
the
documentation
for
details
.
*
purple_request_field_group_get_tab
*
purple_request_field_group_set_tab
*
purple_request_field_list_get_items
now
returns
list
of
PurpleKeyValuePair
*
purple_request_fields_get_tab_names
*
purple_request_fields_set_tab_names
*
purple_roomlist_room_get_type
is
now
purple_roomlist_room_get_room_type
*
purple_roomlist_field_get_type
is
now
purple_roomlist_field_get_field_type
*
purple_savedstatus_get_type
renamed
to
purple_savedstatus_get_primitive_type
*
purple_savedstatus_set_type
renamed
to
purple_savedstatus_set_primitive_type
*
purple_savedstatus_substatus_get_type
renamed
to
purple_savedstatus_substatus_get_status_type
*
serv_
*
functions
are
now
purple_serv_
*
*
purple_srv_resolve
now
takes
a
PurpleAccount
as
the
first
parameter
*
purple_srv_txt_query_get_type
renamed
to
purple_srv_txt_query_get_query_type
*
PurpleStatus
is
now
a
GObject
.
Please
see
the
documentation
for
details
.
*
purple_status_attr_
*
functions
are
now
purple_status_attribute_
*
*
purple_status_set_active_with_attrs
renamed
to
purple_status_set_active_with_attributes
and
now
takes
a
GHashTable
*
PurpleStatusAttr
renamed
to
PurpleStatusAttribute
*
PurplePresence
is
now
an
abstract
type
,
and
is
a
GObject
.
Please
see
the
documentation
for
details
.
*
update_idle
method
has
been
added
to
PurplePresenceClass
to
update
the
idle
state
of
a
presence
*
StunCallback
renamed
to
PurpleStunCallback
*
purple_str_size_to_units
now
takes
a
goffset
as
the
size
parameter
*
PTFunc
renamed
to
PurpleThemeFunc
*
purple_txt_resolve
now
takes
a
PurpleAccount
as
the
first
parameter
*
purple_upnp_remove_port_mapping
no
longer
returns
anything
*
purple_upnp_set_port_mapping
no
longer
returns
anything
*
purple_util_fetch_url_request
now
takes
a
PurpleAccount
as
the
first
parameter
*
purple_util_fetch_url_request
now
takes
a
length
as
the
eighth
parameter
*
purple_util_fetch_url_len
now
takes
a
length
as
the
fifth
parameter
*
purple_util_format_song_info
no
longer
takes
a
fourth
parameter
*
purple_uuid_random
.
Use
g_uuid_string_random
.
*
PurpleWhiteboard
is
now
a
GObject
.
Please
see
the
documentation
for
details
.
*
purple_value_destroy
is
now
purple_value_free
*
purple_value_new
,
purple_value_dup
and
purple_value_free
now
operate
on
GValue
instead
of
PurpleValue
*
Signal
registration
now
uses
GTypes
instead
of
PurpleValues
.
See
SIGNAL
-
HOWTO
for
more
information
.
*
purple_whiteboard_create
renamed
to
purple_whiteboard_new
*
purple_xfer_get_bytes_remaining
now
returns
a
goffset
*
purple_xfer_get_bytes_sent
now
returns
a
goffset
*
purple_xfer_get_size
now
returns
a
goffset
*
purple_xfer_is_canceled
renamed
to
purple_xfer_is_cancelled
*
PurpleXfer
is
now
a
GObject
.
Please
see
the
documentation
for
details
.
*
purple_xfer_get_type
renamed
to
purple_xfer_get_xfer_type
*
PurpleXferStatusType
renamed
to
PurpleXferStatus
*
PURPLE_XFER_
*
prefix
of
PurpleXferType
enums
changed
to
PURPLE_XFER_TYPE_
*
*
purple_xfer_set_bytes_sent
now
takes
a
goffset
as
the
bytes_sent
parameter
*
purple_xfer_set_size
now
takes
a
goffset
as
the
size
parameter
*
PurpleCertificateVerificationStatus
enumeration
is
now
merged
with
internal
flags
,
thus
removing
PURPLE_CERTIFICATE_INVALID
and
replacing
it
with
more
precise
errors
.
*
PurpleConnectionUiOps
.
report_disconnect
now
passes
a
PurpleConnectionError
as
the
second
parameter
*
PurpleXfer
.
bytes_remaining
is
now
a
goffset
*
PurpleXfer
.
bytes_sent
is
now
a
goffset
*
PurpleXfer
.
size
is
now
a
goffset
*
PurpleCertificateScheme
.
get_times
now
uses
gint64
instead
of
time_t
to
represent
times
*
purple_certificate_get_times
now
uses
gint64
instead
of
time_t
to
represent
times
*
xmlnode
renamed
to
PurpleXmlNode
*
XMLNodeType
renamed
to
PurpleXmlNodeType
*
xmlnode_
*
functions
are
now
purple_xmlnode_
*
Removed
:
*
buddy
-
added
and
buddy
-
removed
blist
signals
*
privacy
.
h
file
*
value
.
h
file
*
_PurpleCmdFlag
*
_PurpleCmdPriority
*
_PurpleCmdRet
*
_PurpleCmdStatus
*
_PurplePrefType
*
_PurplePrivacyType
*
_PurpleSoundEventID
*
_PurpleSslConnection
*
_XMLNodeType
*
account
-
added
signal
.
Use
PurpleAccountManager
::
added
instead
.
*
account
-
alias
-
changed
signal
*
account
-
authorization
-
denied
,
account
-
authorization
-
granted
,
account
-
authorization
-
requested
,
account
-
authorization
-
requested
-
with
-
message
signals
*
account
-
connecting
signal
*
account
-
connection
-
error
signal
*
account
-
created
signal
.
Use
PurpleAccountManager
::
added
instead
.
*
account
-
destroying
signal
.
Use
PurpleAccountManager
::
removed
instead
.
*
account
-
disabled
signal
.
Use
PurpleAccountManager
::
account
-
changed
::
enabled
instead
.
*
account
-
enabled
signal
.
Use
PurpleAccountManager
::
account
-
changed
::
enabled
instead
.
*
account
-
error
-
changed
signal
.
Use
PurpleAccountManager
::
account
-
changed
::
error
instead
.
*
account
-
removed
signal
.
Use
PurpleAccountManager
::
removed
instead
.
*
account
-
setting
-
info
,
account
-
set
-
info
signals
*
account
-
status
-
changing
signal
.
*
file
-
recv
-
accept
,
file
-
recv
-
cancel
,
file
-
recv
-
complete
,
file
-
recv
-
start
,
file
-
send
-
accept
,
file
-
send
-
cancel
,
file
-
send
-
complete
,
file
-
send
-
start
signals
.
Use
notify
::
status
on
#PurpleXfer objects instead.
*
displaying
-
email
-
notification
,
displaying
-
emails
-
notification
,
displaying
-
emails
-
clear
signals
*
displaying
-
userinfo
signal
*
got
-
attention
,
sent
-
attention
signals
*
network
-
configuration
-
changed
signal
*
PurpleAccount
->
ui_data
*
PurpleAccountPrefsUiOps
*
PurpleAccountRequestAuthorizationCb
*
PurpleAccountRequestType
*
PurpleAccountUiOps
:
close_account_request
*
PurpleAccountUiOps
:
request_add
*
PurpleAccountUiOps
:
request_authorization
*
PurpleAccountUiOps
:
status_changed
*
purple_account_add_buddies_with_invite
*
purple_account_add_buddy_with_invite
*
purple_account_destroy_log
*
purple_account_get_check_mail
*
purple_account_get_log
*
purple_account_get_password
.
Use
purple_credential_manager_read_password_async
instead
.
*
purple_account_get_public_alias
*
purple_account_get_silence_suppression
*
purple_account_get_ui_int
*
purple_account_get_ui_string
*
purple_account_get_ui_bool
*
purple_account_notify_added
*
purple_account_remove_setting
*
purple_account_request_add
.
Use
purple_add_contact_request_new
instead
.
*
purple_account_request_authorization
*
purple_account_request_close
*
purple_account_set_check_mail
*
purple_account_set_current_error
*
purple_account_set_password
.
Use
purple_credential_manager_write_password_async
instead
.
*
purple_account_set_public_alias
*
purple_account_set_silence_suppression
*
purple_account_set_ui_int
*
purple_account_set_ui_string
*
purple_account_set_ui_bool
*
purple_accounts_add
*
purple_accounts_find
*
purple_accounts_get_all
*
purple_accounts_get_all_active
*
purple_accounts_remove
*
purple_accounts_reorder
*
PurpleAttentionType
*
purple_attention_type_set_name
*
purple_attention_type_set_incoming_desc
*
purple_attention_type_set_outgoing_desc
*
purple_attention_type_set_icon_name
*
purple_attention_type_set_unlocalized_name
*
purple_attention_type_get_name
*
purple_attention_type_get_incoming_desc
*
purple_attention_type_get_outgoing_desc
*
purple_attention_type_get_icon_name
*
purple_attention_type_get_unlocalized_name
*
purple_base16_
*
*
purple_base64_
*.
Use
g_base64_
*
instead
*
purple_blist_get_ui_data
*
purple_blist_load
*
purple_blist_new
*
purple_blist_node_get_ui_data
*
purple_blist_node_set_ui_data
*
purple_blist_set_ui_data
*
purple_set_blist
*
purple_blist_update_buddy_icon
*
purple_buddy_get_local_alias
*
purple_buddy_icons_has_custom_icon
*
purple_buddy_icons_find_custom_icon
*
purple_buddy_icons_set_custom_icon
*
purple_build_dir
.
Use
g_mkdir_with_parents
instead
*
PurpleCallback
.
Use
GCallback
instead
*
PURPLE_CALLBACK
.
Use
G_CALLBACK
instead
*
PurpleCertificateScheme
*
PURPLE_CERTIFICATE_SCHEME_HAS_FUNC
*
purple_certificate_check_signature_chain
*
purple_certificate_check_signature_chain_with_failing
*
purple_certificate_compare_pubkeys
*
purple_certificate_display_x509
*
purple_certificate_get_fingerprint_sha256
*
Purple
Cipher
API
(
PurpleCipherContext
and
friends
)
.
Use
GLib
's GHmac or GChecksum instead.
*
PurpleCommandsUiOps
*
purple_cmds_get_ui_ops
*
purple_cmds_set_ui_ops
*
PURPLE_CMD_FUNC
*
purple_connection_error_reason
*
PURPLE_CONNECTION_FLAG_ALLOW_CUSTOM_SMILEY
*
purple_connection_new
*
purple_connection_new_unregister
*
purple_connection_notice
*
purple_connection_destroy
*
purple_connection_set_account
*
purple_connection_ssl_error
*
PurpleConnectionUiOps
->
connect_progress
*
PurpleConnectionUiOps
->
notice
*
purple_connection_update_progress
*
purple_connections_get_connecting
*
purple_contact_set_alias
*
purple_conv_chat_set_users
*
purple_conv_custom_smiley_add
*
purple_conv_custom_smiley_close
*
purple_conv_custom_smiley_write
*
PurpleConversationType
*
purple_conversation_add_smiley
*
purple_conversation_close_logs
*
purple_conversation_do_command
*
purple_conversation_get_max_message_size
*
purple_conversation_get_remote_smileys
*
purple_conversation_get_smiley
*
purple_conversation_is_logging
*
purple_conversations_add
.
Use
purple_conversation_manager_register
instead
.
*
purple_conversations_remove
.
Use
purple_conversation_manager_unregister
instead
.
*
purple_conversations_get_all
.
Use
purple_conversation_manager_get_all
instead
.
*
purple_conversations_find_with_account
.
Use
purple_conversation_manager_find
instead
.
*
purple_conversations_find_im_with_account
.
Use
purple_conversation_manager_find_im
instead
.
*
purple_conversations_find_chat_with_account
.
Use
purple_conversation_manager_find_chat
instead
.
*
purple_conversations_find_chat
.
Use
purple_conversation_manager_find_chat_by_id
instead
.
*
purple_conversation_set_logging
*
purple_core_get_ui
,
use
purple_core_get_ui_info
instead
.
*
purple_core_ensure_single_instance
.
Check
via
GApplication
or
whatever
is
appropriate
for
your
UI
.
*
purple_core_migrate
*
Removed
the
general
Purple
DBus
interface
*
purple_date_format_full
,
use
g_date_time_format
instead
.
*
purple_date_format_long
,
use
g_date_time_format
instead
.
*
purple_date_format_short
,
use
g_date_time_format
instead
.
*
PurpleDebugUiOps
*
purple_debug_is_enabled
*
purple_debug_set_colored
*
purple_debug_set_enabled
*
purple_dnsquery_a_account
*
purple_event_loop_
{
get
|
set
}
_ui_ops
.
Manually
drive
the
GLib
event
loop
yourself
.
See
GLib
Main
Event
Loop
docs
.
*
PurpleEventLoopUiOps
.
Manually
drive
the
GLib
event
loop
yourself
.
See
GLib
Main
Event
Loop
docs
.
*
purple_fd_get_ip
.
Use
GSocket
instead
.
*
purple_find_pounce
*
purple_gai_strerror
*
PurpleGetPublicAliasSuccessCallback
*
PurpleGetPublicAliasFailureCallback
*
purple_get_attention_type_from_code
*
purple_get_host_name
.
Use
g_get_host_name
,
instead
.
*
purple_get_tzoff_str
()
.
Use
g_date_time_format
,
instead
.
*
PurpleIdleUiOps
*
purple_idle_get_ui_ops
*
purple_idle_set_ui_ops
*
purple_idle_ui_ops_get_type
*
purple_input_remove
*
purple_ip_address_is_valid
,
purple_ipv4_address_is_valid
,
and
purple_ipv6_address_is_valid
.
Use
g_hostname_is_ip_address
()
or
#GInetAddress instead.
*
purple_markup_escape_text
*
purple_markup_extract_info_field
*
purple_markup_find_tag
*
purple_markup_get_css_property
*
purple_markup_is_rtl
*
purple_marshal_BOOLEAN__INT_POINTER
*
purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_UINT
*
purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_UINT
*
purple_marshal_INT__INT
*
purple_marshal_INT__INT_INT
*
purple_marshal_INT__POINTER_POINTER
*
purple_marshal_POINTER__POINTER
*
purple_marshal_POINTER__POINTER_INT
*
purple_marshal_POINTER__POINTER_INT64
*
purple_marshal_POINTER__POINTER_INT_BOOLEAN
*
purple_marshal_POINTER__POINTER_INT64_BOOLEAN
*
purple_marshal_POINTER__POINTER_POINTER
*
purple_marshal_POINTER__POINTER_POINTER_BOOLEAN
*
purple_marshal_VOID__INT
*
purple_marshal_VOID__INT_INT
*
PurpleMimeDocument
,
PurpleMimePart
,
purple_mime_document_new
,
purple_mime_document_free
,
purple_mime_document_parse
,
purple_mime_document_parsen
,
purple_mime_document_write
,
purple_mime_document_get_fields
,
purple_mime_document_get_field
,
purple_mime_document_set_field
,
purple_mime_document_get_parts
,
purple_mime_part_new
,
purple_mime_part_get_fields
,
purple_mime_part_get_field
,
purple_mime_part_get_field_decoded
,
purple_mime_part_set_field
,
purple_mime_part_get_data
,
purple_mime_part_get_data_decoded
,
purple_mime_part_get_length
,
purple_mime_part_set_data
,
and
purple_mime_decode_field
.
Use
the
GMime
library
,
instead
.
*
purple_mkstemp
*
purple_network_convert_idn_to_ascii
.
Use
g_hostname_to_ascii
,
instead
.
*
purple_network_get_all_local_system_ips
.
Use
libnice
instead
.
*
purple_network_get_handle
*
purple_network_get_my_ip
*
purple_network_get_local_system_ip
.
Use
libnice
instead
.
*
purple_network_get_port_from_fd
*
purple_network_ip_atoi
*
PurpleNetworkListenData
*
PurpleNetworkListenCallback
*
purple_network_listen
*
purple_network_listen_cancel
*
purple_network_listen_family
*
purple_network_listen_map_external
*
purple_network_listen_range
*
purple_network_listen_range_family
*
purple_network_remove_port_mapping
*
PurpleNotifyUiOps
.
notify_email
*
PurpleNotifyUiOps
.
notify_emails
*
purple_notify_email
*
purple_notify_emails
*
purple_notify_searchresults_column_get_title
*
purple_notify_searchresults_get_columns_count
*
purple_notify_searchresults_get_rows_count
*
purple_notify_searchresults_row_get
*
purple_ntlm_
*
*
PURPLE_PLUGIN_INIT
,
use
GPLUGIN_NATIVE_PLUGIN_DECLARE
*
PurplePluginAction
*
PurplePluginActionCb
*
PurplePluginLoaderInfo
*
PurplePluginPriority
*
PurplePluginProtocolInfo
*
PurplePluginType
*
PurplePluginUiInfo
*
purple_plugin_action_new
*
purple_plugin_action_free
*
purple_plugin_ipc_
*
*
purple_plugin_is_unloadable
*
purple_plugin_new
*
purple_plugin_probe
*
purple_plugin_register
*
purple_plugin_reload
*
purple_plugins
:
plugin
-
load
signal
*
purple
-
plugins
:
plugin
-
unload
signal
*
purple_plugins_destroy_all
*
purple_plugins_enabled
*
purple_plugins_find_with_basename
*
purple_plugins_find_with_name
*
purple_plugins_get_handle
*
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_pounce_action_get_attribute
*
purple_pounce_action_is_enabled
*
purple_pounce_action_register
*
purple_pounce_action_set_attribute
*
purple_pounce_action_set_enabled
*
purple_pounce_destroy
*
purple_pounce_destroy_all_by_account
*
purple_pounce_destroy_all_by_buddy
*
purple_pounce_execute
*
purple_pounce_get_data
*
purple_pounce_get_events
*
purple_pounce_get_options
*
purple_pounce_get_pouncee
*
purple_pounce_get_pouncer
*
purple_pounce_get_save
*
purple_pounce_new
*
purple_pounce_set_data
*
purple_pounce_set_events
*
purple_pounce_set_options
*
purple_pounce_set_pouncee
*
purple_pounce_set_pouncer
*
purple_pounce_set_save
*
purple_pounces_get_all
*
purple_pounces_get_all_for_ui
*
purple_pounces_get_handle
*
purple_pounces_init
*
purple_pounces_load
*
purple_pounces_register_handler
*
purple_pounces_uninit
*
purple_pounces_unregister_handler
*
PurplePounceCb
*
PurplePounceEvent
*
PurplePounceOption
*
PurplePrefsUiOps
*
PurpleProxyConnectData
*
PurpleProxyConnectFunction
*
purple_proxy_connect
*
purple_proxy_connect_cancel
*
purple_proxy_connect_cancel_with_handle
*
purple_prefs_get_ui_ops
*
purple_prefs_set_generic
*
purple_prefs_set_ui_ops
*
purple_prefs_update_old
*
purple_presence_add_status
*
purple_presence_add_list
*
PurplePresenceContext
*
purple_presence_new
*
purple_presence_new_for_account
*
purple_presence_new_for_buddy
*
purple_print_utf8_to_console
*
purple_program_is_valid
*
pidgin_protocol_option_menu_new
*
purple_proxy_connect_socks5
*
purple_proxy_connect_socks5_account
*
purple_prpl_got_attention
*
purple_prpl_got_attention_in_chat
*
purple_prpl_send_attention
*
purple_quotedp_decode
.
See
the
GMime
library
if
needed
.
*
purple_restore_default_signal_handlers
*
purple_request_certificate
*
purple_request_field_choice_set_data_destructor
.
Use
purple_request_field_choice_add_full
instead
*
purple_request_field_list_add
*
purple_request_field_list_get_icons
*
PurpleRoomlistRoomType
*
purple_roomlist_expand_category
*
purple_roomlist_field_get_field_type
*
purple_roomlist_field_get_hidden
*
purple_roomlist_field_get_label
*
purple_roomlist_field_new
*
purple_roomlist_get_fields
*
purple_roomlist_get_protocol_data
*
purple_roomlist_set_protocol_data
*
purple_running_osx
*
purple_serv_add_deny
*
purple_serv_add_permit
*
purple_serv_get_info
*
purple_serv_remove_deny
*
purple_serv_remove_permit
*
purple_serv_set_info
*
purple_serv_set_permit_deny
*
PurpleSetPublicAliasFailureCallback
*
PurpleSetPublicAliasSuccessCallback
*
purple_signal_connect_priority_vargs
*
purple_signal_connect_vargs
*
purple_signal_emit_vargs
*
purple_signal_get_types
*
purple_smiley_get_type
*
purple_smiley_new
*
purple_smiley_new_from_file
*
purple_smiley_delete
*
purple_smiley_set_shortcut
*
purple_smiley_set_data
*
purple_smiley_get_shortcut
*
purple_smiley_get_checksum
*
purple_smiley_get_stored_image
*
purple_smiley_get_data
*
purple_smiley_get_extension
*
purple_smiley_get_full_path
*
purple_smileys_get_all
*
purple_smileys_find_by_shortcut
*
purple_smileys_find_by_checksum
*
purple_smileys_get_storing_dir
*
purple_smileys_init
*
purple_smileys_uninit
*
purple_socket_get_family
*
purple_socket_speaks_ipv4
*
PurpleSoundUiOps
*
PurpleSoundStatus
*
PURPLE_SOUND_STATUS_AVAILABLE
*
PURPLE_SOUND_STATUS_AWAY
*
PURPLE_SOUND_STATUS_ALWAYS
*
PurpleSoundEventID
*
PURPLE_SOUND_BUDDY_ARRIVE
*
PURPLE_SOUND_BUDDY_LEAVE
*
PURPLE_SOUND_RECEIVE
*
PURPLE_SOUND_FIRST_RECEIVE
*
PURPLE_SOUND_SEND
*
PURPLE_SOUND_CHAT_JOIN
*
PURPLE_SOUND_CHAT_LEAVE
*
PURPLE_SOUND_CHAT_YOU_SAY
*
PURPLE_SOUND_CHAT_SAY
*
PURPLE_SOUND_POUNCE_DEFAULT
*
PURPLE_SOUND_CHAT_NICK
*
PURPLE_SOUND_GOT_ATTENTION
*
purple_sound_ui_ops_get_type
*
purple_sound_play_file
*
purple_sound_play_event
*
purple_sound_set_ui_ops
*
purple_sound_get_ui_ops
*
purple_sound_init
*
purple_sound_uninit
*
purple_sounds_get_handle
*
purple_sound_theme_get_type
*
purple_sound_theme_get_file
*
purple_sound_theme_get_file_full
*
purple_sound_theme_set_file
*
purple_sound_theme_loader_get_type
*
PURPLE_NUM_SOUNDS
*
purple_srv_cancel
*
purple_srv_resolve_account
*
purple_srv_txt_query_destroy
*
PurpleSslErrorType
*
purple_str_add_cr
*
purple_strcasereplace
*
PurpleStunNatType
*
PurpleStunNatDiscovery
.
type
*
PURPLE_SSL_DEFAULT_PORT
*
PurpleSslConnection
*
PurpleSslErrorFunction
*
PurpleSslInputFunction
*
purple_ssl_close
*
purple_ssl_connect
*
purple_ssl_connect_fd
*
purple_ssl_connect_with_host_fd
*
purple_ssl_connect_with_ssl_cn
*
purple_ssl_get_peer_certificates
*
purple_ssl_init
*
purple_ssl_input_add
*
purple_ssl_input_remove
*
purple_ssl_read
*
purple_ssl_strerror
*
purple_ssl_uninit
*
purple_ssl_write
*
purple_status_set_active_with_attrs_list
*
purple_status_set_attr_boolean
*
purple_status_set_attr_int
*
purple_status_set_attr_string
*
purple_status_type_add_attr
*
purple_status_type_add_attrs
*
purple_status_type_add_attrs_vargs
*
purple_status_type_get_primary_attr
*
purple_status_type_set_primary_attr
*
purple_strcasestr
*
purple_strlcat
*
purple_strlcpy
*
purple_str_binary_to_ascii
*
purple_str_has_prefix
.
Use
g_str_has_prefix
instead
*
purple_str_has_suffix
.
Use
g_str_has_suffix
instead
*
purple_str_size_to_units
.
Use
g_format_size
()
instead
.
*
purple_str_to_date_time
*
purple_str_to_time
*
purple_time_build
.
Use
g_date_time_new
*
instead
.
*
purple_time_format
.
Use
g_date_time_format
instead
.
*
purple_timeout_
*.
Use
g_timeout_
*
or
g_idle_
*
instead
.
*
purple_txt_cancel
*
purple_txt_resolve_account
*
PurpleType
,
use
GType
instead
.
*
purple_unescape_filename
*
PurpleUPnPMappingAddRemove
*
purple_upnp_cancel_port_mapping
*
purple_uri_escape_for_open
*
purple_uri_list_extract_filenames
*
purple_uri_list_extract_uris
*
purple_url_decode
*
purple_user_dir
*
purple_utf8_salvage
.
Use
g_utf8_make_valid
instead
.
*
purple_utf8_strftime
*
purple_util_write_data_to_file_absolute
.
Use
g_file_set_contents
instead
.
*
purple_util_fetch_url_len
.
Use
purple_util_fetch_url
,
instead
.
*
purple_util_fetch_url_request_len
.
Use
*
purple_util_fetch_url_request
,
instead
.
*
purple_util_fetch_url_request_len_with_account
.
Use
purple_util_fetch_url_request
,
instead
.
*
purple_util_get_image_checksum
.
Use
g_compute_checksum_for_data
(
G_CHECKSUM_SHA1
,
...
),
instead
.
*
purple_util_read_xml_from_file
*
purple_util_write_data_to_file
*
purple_util_write_data_to_file_absolute
*
purple_uts35_to_str
*
purple_xfer_add
*
purple_xfer_get_ui_data
and
purple_xfer_set_ui_data
.
Use
GObject
data
functions
instead
.
*
purple_xfer_update_progress
*
PurpleCertificateVerificationStatus
.
PURPLE_CERTIFICATE_INVALID
*
PurpleConnectionUiOps
.
report_disconnect_reason
*
PurplePluginProtocolInfo
.
add_buddy_with_invite
*
PurplePluginProtocolInfo
.
add_buddies_with_invite
*
PurplePluginProtocolInfo
.
get_cb_away
*
PurpleValue
,
use
GValue
instead
.
*
purple_whiteboard_get_ui_data
and
purple_whiteboard_set_ui_data
,
use
g_object_set_data
instead
.
*
PurpleXferUiOps
.
add_thumbnail
.
Use
PurpleXfer
::
add
-
thumbnail
instead
.
*
PurpleXferUiOps
.
add_xfer
.
Use
notify
::
visible
on
#PurpleXfer
objects
instead
.
*
PurpleXferUiOps
.
cancel_local
and
PurpleXferUiOps
.
cancel_remote
.
Use
notify
::
status
on
#PurpleXfer objects instead.
*
PurpleXferUiOps
.
data_not_sent
.
Use
PurpleXfer
::
data
-
not
-
sent
instead
.
*
PurpleXferUiOps
.
destroy
*
PurpleXferUiOps
.
ui_read
.
Use
PurpleXfer
::
read
-
local
instead
.
*
PurpleXferUiOps
.
ui_write
.
Use
PurpleXfer
::
write
-
local
instead
.
*
PurpleXferUiOps
.
update_progress
.
Use
notify
::
progress
on
#PurpleXfer objects instead.
*
serv_got_attention
*
serv_send_attention
*
struct
_PurpleAttentionType
*
struct
_PurpleCipherCaps
*
struct
_PurpleConversation
*
struct
_PurpleConvChat
*
struct
_PurpleConvChatBuddy
*
struct
_PurpleConvIm
*
struct
_PurpleConvMessage
*
struct
_PurpleMenuAction
*
struct
_PurplePounce
*
struct
_PurpleProxyInfo
*
struct
_PurpleRequestField
*
struct
_PurpleRoomlist
*
struct
_PurpleRoomlistField
*
struct
_PurpleRoomlistRoom
*
struct
_PurpleWhiteboard
*
struct
PurpleAccountOption
*
struct
PurpleAccountUserSplit
*
struct
PurpleNotifySearchColumn
*
wpurple_g_access
*
xmlnode_set_attrib_with_namespace
*
xmlnode_set_attrib_with_prefix
Pidgin
:
Added
:
*
pidgin_create_webview
*
PidginDockletFlag
*
PidginPluginInfo
,
inherits
PurplePluginInfo
*
Various
WebKit
-
related
functions
in
gtkwebview
.
h
Changed
:
*
gtkft
.
h
file
renamed
to
gtkxfer
.
h
*
pidgin_blist_sort_method
renamed
to
_PidginBlistSortMethod
*
BRUSH_STATE_DOWN
renamed
to
PIDGIN_BRUSH_STATE_DOWN
*
BRUSH_STATE_MOTION
renamed
to
PIDGIN_BRUSH_STATE_MOTION
*
BRUSH_STATE_UP
renamed
to
PIDGIN_BRUSH_STATE_UP
*
DEFAULT_FONT_FACE
renamed
to
PIDGIN_DEFAULT_FONT_FACE
*
DndHintPosition
renamed
to
PidginDndHintPosition
*
DndHintWindowId
renamed
to
PidginDndHintWindowId
*
dnd_
*
functions
renamed
to
pidgin_dnd_
*
*
FULL_CIRCLE_DEGREES
renamed
to
PIDGIN_FULL_CIRCLE_DEGREES
*
NUM_NICK_SEED_COLORS
renamed
to
PIDGIN_NUM_NICK_SEED_COLORS
*
PALETTE_NUM_COLORS
renamed
to
PIDGIN_PALETTE_NUM_COLORS
*
pidgin_account_option_menu_
*
renamed
to
pidgin_account_chooser_
*
*
pidgin_conversations_get_unseen_all
removed
hidden_only
parameter
.
*
pidgin_make_mini_dialog
renamed
to
pidgin_mini_dialog_new_with_buttons
;
note
the
argument
order
has
changed
to
match
pidgin_mini_dialog_new
*
pidgin_new_item_from_stock
renamed
to
pidgin_new_menu_item
and
removed
the
accel
related
parameters
.
*
pidgin_setup_screenname_autocomplete
now
takes
a
filter
function
and
its
data
as
final
two
arguments
*
PidginWindow
renamed
to
PidginConvWindow
Removed
:
*
account
-
modified
(
gtkaccount
signal
)
*
conversation
-
dragging
(
gtkconv
signal
)
*
conversation
-
timestamp
(
gtkconv
signal
)
*
conversation
-
hiding
(
gtkconv
signal
)
*
drawing
-
buddy
(
gtkblist
signal
)
*
GtkIMHtml
.
clipboard_html_string
*
GtkIMHtml
.
clipboard_text_string
*
GtkIMHtmlFontDetail
*
gtkblist
-
hiding
(
gtkblist
signal
)
*
gtkblist
-
unhiding
(
gtkblist
signal
)
*
gtk_imhtml_animation_free
*
gtk_imhtml_animation_new
*
gtk_imhtml_image_add_to
*
gtk_imhtml_image_free
*
gtk_imhtml_image_new
*
gtk_imhtml_image_scale
*
pidgin_account_dialog_show
*
pidgin_accounts_get_handle
*
pidgin_accounts_window_hide
*
pidgin_accounts_window_show
,
use
pidgin_account_manager_new
instead
.
*
pidgin_append_blist_node_extended_menu
*
pidgin_append_blist_node_privacy_menu
*
pidgin_append_blist_node_proto_menu
*
pidgin_append_menu_action
*
pidgin_blist_add_alert
*
pidgin_blist_draw_tooltip
*
pidgin_blist_get_status_icon
*
pidgin_blist_get_theme
*
pidgin_blist_layout_get_type
*
pidgin_blist_make_buddy_menu
*
pidgin_blist_set_headline
*
pidgin_blist_set_theme
*
pidgin_blist_theme_get_background_color
*
pidgin_blist_theme_get_collapsed_background_color
*
pidgin_blist_theme_get_collapsed_text_info
*
pidgin_blist_theme_get_contact_color
*
pidgin_blist_theme_get_contact_text_info
*
pidgin_blist_theme_get_expanded_background_color
*
pidgin_blist_theme_get_expanded_text_info
*
pidgin_blist_theme_get_idle_text_info
*
pidgin_blist_theme_get_offline_text_info
*
pidgin_blist_theme_get_online_text_info
*
pidgin_blist_theme_get_online_text_info
*
pidgin_blist_theme_get_opacity
*
pidgin_blist_theme_get_opacity
*
pidgin_blist_theme_get_status_text_info
*
pidgin_blist_theme_get_type
*
pidgin_blist_theme_get_unread_message_nick_said_text_info
*
pidgin_blist_theme_get_unread_message_text_info
*
pidgin_blist_theme_loader_get_type
*
pidgin_blist_theme_set_away_text_info
*
pidgin_blist_theme_set_background_color
*
pidgin_blist_theme_set_collapsed_background_color
*
pidgin_blist_theme_set_collapsed_text_info
*
pidgin_blist_theme_set_contact_color
*
pidgin_blist_theme_set_contact_text_info
*
pidgin_blist_theme_set_expanded_background_color
*
pidgin_blist_theme_set_expanded_text_info
*
pidgin_blist_theme_set_idle_text_info
*
pidgin_blist_theme_set_layout
*
pidgin_blist_theme_set_offline_text_info
*
pidgin_blist_theme_set_online_text_info
*
pidgin_blist_theme_set_opacity
*
pidgin_blist_theme_set_status_text_info
*
pidgin_blist_theme_set_unread_message_nick_said_text_info
*
pidgin_blist_theme_set_unread_message_text_info
*
pidgin_blist_toggle_visibility
*
pidgin_blist_tooltip_destroy
*
pidgin_blist_update_account_error_state
*
pidgin_blist_update_accounts_menu
*
pidgin_blist_update_columns
*
pidgin_blist_update_plugin_actions
*
pidgin_blist_update_refresh_timeout
*
pidgin_blist_visibility_manager_add
*
pidgin_blist_visibility_manager_remove
*
PidginBlistLayout
*
pidgin_buddy_icon_chooser_new
*
pidgin_buddy_icon_get_scale_size
*
PidginBuddyList
.
connection_errors
*
PidginButtonOrientation
*
PidginButtonStyle
*
PidginCellRendererExpander
*
PIDGIN_TYPE_CELL_RENDERER_EXPANDER
*
pidgin_cell_renderer_expander_new
*
pidgin_check_if_dir
*
pidgin_clear_cursor
*
pidgin_connection_get_handle
*
PidginConversation
.
sg
*
PidginConvPlacementFunc
*
pidgin_conv_get_tab_at_xy
*
pidgin_conv_get_tab_icon
,
use
PidginPresenceIcon
instead
.
*
pidgin_conv_get_window
*
pidgin_conv_is_hidden
*
pidgin_conv_new
*
pidgin_conv_placement_get_name
*
pidgin_conv_placement_add_fnc
*
pidgin_conv_placement_remove_fnc
*
pidgin_conv_placement_get_fnc
*
pidgin_conv_placement_set_current_func
*
pidgin_conv_placement_get_current_func
*
pidgin_conv_present_conversation
*
PidginConvWindow
*
pidgin_conv_window_add_gtkconv
*
pidgin_conv_window_destroy
*
pidgin_conv_window_first_chat
*
pidgin_conv_window_first_im
*
pidgin_conv_window_get_active_conversation
*
pidgin_conv_window_get_active_gtkconv
*
pidgin_conv_window_get_at_event
*
pidgin_conv_window_get_gtkconv_at_index
*
pidgin_conv_window_get_gtkconv_count
*
pidgin_conv_window_get_gtkconvs
*
pidgin_conv_window_has_focus
*
pidgin_conv_window_hide
*
pidgin_conv_window_is_active_conversation
*
pidgin_conv_window_last_im
*
pidgin_conv_window_last_chat
*
pidgin_conv_window_new
*
pidgin_conv_window_raise
*
pidgin_conv_window_remove_gtkconv
*
pidgin_conv_window_show
*
pidgin_conv_window_switch_gtkconv
*
pidgin_conv_windows_get_list
*
pidgin_conv_update_buddy_icon
*
pidgin_conv_update_buttons_by_protocol
*
pidgin_conversations_fill_menu
*
pidgin_conversations_get_unseen_all
*
pidgin_convert_buddy_icon
*
pidgin_create_dialog
,
use
pidgin_dialog_new
instead
.
*
pidgin_create_icon_from_protocol
*
pidgin_create_protocol_icon
*
pidgin_create_small_button
,
use
pidgin_close_button_new
instead
.
*
pidgin_create_status_icon
*
pidgin_create_window
,
use
pidgin_window_new
instead
.
*
PIDGIN_DIALOG
*
pidgin_dialog_add_button
*
pidgin_dialog_get_action_area
*
pidgin_dialog_get_vbox
*
pidgin_dialog_get_vbox_with_properties
*
pidgin_dialogs_alias_contact
*
pidgin_dialogs_destroy_all
*
pidgin_dialogs_log
*
pidgin_get_dim_grey_string
*
pidgin_gdk_pixbuf_make_round
,
use
purple_gdk_pixbuf_make_round
instead
.
*
pidgin_gdk_pixbuf_is_opaque
,
use
purple_gdk_pixbuf_is_opaque
instead
.
*
pidgin_menu_popup_at_treeview_selection
*
pidgin_new_menu_item
*
pidgin_pixbuf_from_data
,
use
purple_gdk_pixbuf_from_data
instead
.
*
pidgin_pixbuf_anim_from_data
*
pidgin_pixbuf_from_image
,
use
purple_gdk_pixbuf_from_image
instead
.
*
pidgin_pixbuf_new_from_file
,
use
purple_gdk_pixbuf_new_from_file
instead
.
*
pidgin_pixbuf_new_from_file_at_size
,
use
purple_gdk_pixbuf_new_from_file_at_size
instead
.
*
pidgin_pixbuf_new_from_file_at_scale
*
pidgin_pixbuf_scale_down
*
PIDGIN_ICON_SIZE_
*
*
PIDGIN_ICON_THEME
*
PIDGIN_ICON_THEME_CLASS
*
PIDGIN_ICON_THEME_LOADER
*
PIDGIN_ICON_THEME_LOADER_CLASS
*
PIDGIN_ICON_THEME_GET_CLASS
*
PIDGIN_ICON_THEME_LOADER_GET_CLASS
*
pidgin_icon_theme_get_icon
*
pidgin_icon_theme_set_icon
*
pidgin_icon_theme_get_type
*
pidgin_icon_theme_loader_get_type
*
PIDGIN_IS_ICON_THEME
*
PIDGIN_IS_ICON_THEME_CLASS
*
PIDGIN_IS_ICON_THEME_LOADER
*
PIDGIN_IS_ICON_THEME_LOADER_CLASS
*
PIDGIN_TYPE_ICON_THEME
*
PIDGIN_TYPE_ICON_THEME_LOADER
*
PidginIconTheme
*
PidginIconThemeClass
*
PidginIconThemeLoader
*
PidginIconThemeLoaderClass
*
pidgin_idle_get_ui_ops
*
pidgin_load_accels
*
pidgin_make_mini_dialog_with_custom_icon
*
pidgin_make_scrollable
*
pidgin_mini_dialog_new_with_custom_icon
*
pidgin_mini_dialog_set_custom_icon
*
pidgin_make_pretty_arrows
*
PidginMiniDialog
*
PidginMiniDialogCallback
*
pidgin_mini_dialog_add_button
*
pidgin_mini_dialog_add_non_closing_button
*
pidgin_mini_dialog_enable_description_markup
*
pidgin_mini_dialog_get_num_children
*
pidgin_mini_dialog_new
*
pidgin_mini_dialog_new_with_buttons
*
pidgin_mini_dialog_new_with_custom_icon
*
pidgin_mini_dialog_set_custom_icon
*
pidgin_mini_dialog_set_description
*
pidgin_mini_dialog_set_icon_name
*
pidgin_mini_dialog_set_link_callback
*
pidgin_mini_dialog_set_title
*
pidgin_menu_position_func_helper
*
pidgin_mini_dialog_links_supported
*
pidgin_new_check_item
*
pidgin_notify_emails_pending
*
pidgin_notify_emails_present
*
pidgin_parse_x_im_contact
*
pidgin_pixbuf_button_from_stock
*
pidgin_pixbuf_toolbar_button_from_stock
*
pidgin_dialogs_plugins_info
*
pidgin_pounce_editor_show
*
pidgin_pounces_get_handle
*
pidgin_pounces_init
*
pidgin_pounces_manager_hide
*
pidgin_pounces_manager_show
*
pidgin_prefs_labeled_entry
*
pidgin_prefs_labeled_password
*
pidgin_protocol_option_menu_get_selected
*
pidgin_save_accels
*
pidgin_save_accels_cb
*
PidginScrollBook
*
pidgin_scroll_book_new
*
pidgin_scroll_book_get_notebook
*
pidgin_separator
*
pidgin_set_accessible_relations
*
pidgin_set_cursor
*
pidgin_set_custom_buddy_icon
*
pidgin_set_sensitive_if_input
*
pidgin_set_urgent
,
use
gtk_window_set_urgency_hint
instead
.
*
pidgin_setup_screenname_autocomplete_with_filter
*
PidginSmiley
*
pidgin_smiley_add_to_list
*
pidgin_smiley_del_from_list
*
pidgin_smiley_manager_show
*
pidgin_smiley_edit
*
pidgin_smiley_editor_set_shortcut
*
pidgin_smiley_editor_set_image
*
pidgin_smiley_editor_set_data
*
pidgin_smileys_init
*
pidgin_smileys_uninit
*
pidgin_smileys_get_all
*
pidgin_sound_get_event_label
*
pidgin_sound_get_event_option
*
pidgin_sound_get_handle
*
pidgin_sound_get_ui_ops
*
pidgin_sound_is_customized
*
pidgin_status_box_set_connecting
*
pidgin_status_box_get_message
*
pidgin_status_box_new_with_account
*
PIDGIN_IS_STATUS_ICON_THEME
*
PIDGIN_IS_STATUS_ICON_THEME_CLASS
*
PIDGIN_STATUS_ICON_THEME
*
PIDGIN_STATUS_ICON_THEME_CLASS
*
PIDGIN_STATUS_ICON_THEME_GET_CLASS
*
pidgin_status_icon_theme_get_type
*
PIDGIN_TYPE_STATUS_ICON_THEME
*
PidginStatusIconTheme
*
PidginStatusIconThemeClass
*
PidginStatusBoxItemType
*
pidgin_status_box_add
*
pidgin_status_box_add_separator
*
pidgin_status_box_pulse_connecting
*
pidgin_status_box_set_buddy_icon
*
pidgin_status_box_set_network_available
*
pidgin_status_editor_show
,
use
pidgin_status_editor_new
instead
.
*
pidgin_status_get_handle
*
pidgin_status_init
*
pidgin_status_uninit
*
pidgin_status_window_hide
*
pidgin_status_window_show
,
use
pidgin_status_manager_new
instead
.
*
All
PIDGIN_STOCK_
*
macros
*
PIDGIN_IS_STOCK_ICON_THEME
*
PIDGIN_IS_STOCK_ICON_THEME_CLASS
*
PIDGIN_STOCK_ICON_THEME
*
PIDGIN_STOCK_ICON_THEME_CLASS
*
PIDGIN_STOCK_ICON_THEME_GET_CLASS
*
pidgin_stock_icon_theme_get_type
*
pidgin_stock_id_from_presence
*
pidgin_stock_id_from_status_primitive
*
pidgin_stock_init
*
pidgin_stock_load_status_icon_theme
*
pidgin_stock_load_stock_icon_theme
*
PIDGIN_TYPE_STOCK_ICON_THEME
*
PidginStockIconTheme
*
PidginStockIconThemeClass
*
pidgin_text_combo_box_entry_new
*
pidgin_text_combo_box_entry_get_text
*
pidgin_text_combo_box_entry_set_text
*
pidgin_theme_font_free
*
pidgin_theme_font_get_color
*
pidgin_theme_font_get_color_describe
*
pidgin_theme_font_get_font_face
*
pidgin_theme_font_get_type
*
pidgin_theme_font_new
*
pidgin_theme_font_set_color
*
pidgin_theme_font_set_font_face
*
pidgin_toggle_sensitive
,
pidgin_toggle_sensitive_array
,
and
pidgin_toggle_showhide
;
use
g_object_bind_property
instead
*
PidginTooltipCreate
*
PidginTooltipCreateForTree
*
PidginTooltipPaint
*
pidgin_tooltip_destroy
*
pidgin_tooltip_setup_for_treeview
*
pidgin_tooltip_setup_for_widget
*
pidgin_tooltip_show
*
PidginThemeFont
*
PIDGIN_UI
*
PidginUnseenState
enum
and
all
values
.
*
PidginUtilMiniDialogCallback
;
use
PidginMiniDialogCallback
instead
*
struct
_GtkIMHtmlAnimation
*
struct
_GtkIMHtmlFontDetail
*
struct
_GtkIMHtmlHr
*
struct
_GtkIMHtmlImage
*
struct
_GtkIMHtmlScalable
*
struct
_GtkSmileyTree
*
struct
_PidginChatPane
*
struct
_PidginImPane
*
smiley_list
*
smiley_parse_markup
*
smiley_theme
Finch
:
Added
:
*
FinchPluginInfo
,
inherits
PurplePluginInfo
Changed
:
*
gntft
.
h
file
renamed
to
gntxfer
.
h
*
gnt_append_menu_action
renamed
to
finch_append_menu_action
*
gnt_ui_init
renamed
to
finch_ui_init
*
gnt_ui_uninit
renamed
to
finch_ui_uninit
Removed
:
*
finch_accounts_get_ui_ops
*
finch_idle_get_ui_ops
*
finch_pounce_editor_show
*
finch_pounces_get_handle
*
finch_pounces_init
*
finch_pounces_manager_hide
*
finch_pounces_manager_show
*
finch_pounces_uninit
*
finch_sound_get_active_profile
*
finch_sound_get_profiles
*
finch_sound_get_ui_ops
*
finch_sound_is_enabled
*
finch_sound_set_active_profile
*
finch_sounds_show_all
libgnt
:
Changed
:
*
ENTRY_CHAR
renamed
to
GNT_ENTRY_CHAR
*
g_hash_table_duplicate
renamed
to
gnt_hash_table_duplicate
*
GDupFunc
renamed
to
GntDuplicateFunc
Removed
:
*
_GntFileType
*
_GntKeyPressMode
*
_GntMouseEvent
*
_GntParamFlags
*
_GntProgressBarOrientation
*
_GntTreeColumnFlag
*
_GntWidgetFlags
version
2.11
.
0
:
libpurple
:
Added
:
*
account
-
status
-
changing
signal
(
account
signals
)
*
buddy
-
removed
-
from
-
group
signal
(
blist
signals
)
version
2.9
.
0
:
libpurple
:
Added
:
*
Hash
table
to
PurpleConvChat
struct
,
used
to
make
purple_conv_chat_cb_find
O
(
1
)
.
*
ui_data
pointer
to
PurpleConvChatBuddy
struct
.
*
deleting
-
chat
-
buddy
signal
(
conversation
signals
)
*
pidgin_pixbuf_from_data
*
pidgin_pixbuf_anim_from_data
*
pidgin_pixbuf_new_from_file
*
pidgin_pixbuf_new_from_file_at_size
*
pidgin_pixbuf_new_from_file_at_scale
Deprecated
:
*
purple_conv_chat_set_users
*
PurpleConvChat
in_room
list
version
2.8
.
0
(
06
/
07
/
2011
):
libpurple
:
Added
:
*
account
-
authorization
-
requested
-
with
-
message
signal
(
Stefan
Ott
)
(
#8690)
*
cleared
-
message
-
history
signal
(
conversation
signals
)
*
purple_account_add_buddy_with_invite
*
purple_account_add_buddies_with_invite
*
purple_dnsquery_a_account
*
purple_notify_user_info_add_pair_plaintext
*
purple_media_get_active_local_candidates
*
purple_media_get_active_remote_candidates
*
purple_media_manager_get_video_caps
(
Jakub
Adam
)
(
#13095)
*
purple_media_manager_set_video_caps
(
Jakub
Adam
)
(
#13095)
*
purple_pounce_destroy_all_by_buddy
(
Kartik
Mohta
)
(
#1131)
*
purple_proxy_connect_socks5_account
*
purple_srv_resolve_account
*
purple_txt_resolve_account
*
Added
add_buddy_with_invite
to
PurplePluginProtocolInfo
*
Added
add_buddies_with_invite
to
PurplePluginProtocolInfo
*
Added
PurpleSrvTxtQueryUiOps
which
allow
UIs
to
specify
their
own
mechanisms
to
resolve
SRV
and
/
or
TXT
queries
.
It
works
similar
to
PurpleDnsQueryUiOps
*
purple_marshal_BOOLEAN__POINTER_BOOLEAN
(
kawaii
.
neko
)
(
#12599)
Deprecated
:
*
purple_account_add_buddy
*
purple_account_add_buddies_with_invite
*
purple_dnsquery_a
*
purple_proxy_connect_socks5
*
purple_srv_resolve
*
purple_txt_resolve
*
add_buddy
from
PurplePluginProtocolInfo
struct
*
add_buddies
from
PurplePluginProtocolInfo
struct
Pidgin
:
Added
:
*
pidgin_make_scrollable
(
Gabriel
Schulhof
)
(
#10599)
*
chat
-
nick
-
clicked
signal
(
kawaii
.
neko
)
(
#12599)
*
chat
-
nick
-
autocomplete
signal
(
kawaii
.
neko
)
(
#12599)
version
2.7
.
11
(
03
/
10
/
2011
):
*
libpurple
:
Added
:
*
Four
entries
in
the
GHashTable
passed
when
joining
an
XMPP
chat
room
which
allow
the
UI
to
request
a
limited
amount
of
history
.
See
XEP
-
0045
7.1
.
16
for
details
;
the
entries
are
named
history_maxchars
,
history_maxstanzas
,
history_seconds
,
and
history_since
.
history_since
must
be
interpretable
by
purple_str_to_time
,
and
the
prpl
takes
care
of
formatting
the
time
properly
.
*
Perl
:
Added
:
*
Purple
::
find_conversation_with_account
*
Purple
::
Conversation
::
Chat
::
send_with_flags
*
Purple
::
Conversation
::
IM
::
send_with_flags
version
2.7
.
10
(
02
/
06
/
2011
):
*
No
changes
version
2.7
.
9
(
12
/
26
/
2010
):
*
No
changes
version
2.7
.
8
(
12
/
19
/
2010
):
*
No
changes
version
2.7
.
7
(
11
/
23
/
2010
):
*
No
changes
version
2.7
.
6
(
11
/
21
/
2010
):
*
No
changes
version
2.7
.
5
(
10
/
31
/
2010
):
*
No
changes
version
2.7
.
4
(
10
/
20
/
2010
):
Perl
:
Added
:
*
Purple
::
BuddyList
::
Chat
::
get_components
Changed
:
*
Purple
::
BuddyList
::
Chat
::
new
now
works
properly
.
Thanks
to
Rafael
in
devel
@
conference
.
pidgin
.
im
for
reporting
and
testing
.
version
2.7
.
3
(
08
/
10
/
2010
):
libpurple
:
Fixed
:
*
purple_account_
[
gs
]
et_public_alias
no
longer
crash
when
called
for
a
protocol
that
doesn
't support the underlying
calls
and
the
caller
does
not
specify
a
failure
callback
.
Perl
:
Added
:
*
Exposed
log
-
subsystem
signals
.
Pidgin
:
Changed
:
*
Changing
the
visibility
(
gtk_widget_hide
/
show
)
of
the
widgets
in
the
GtkIMHtmlToolbar
should
now
affect
the
visibility
of
the
entries
in
the
'lean'
view
(
the
default
toolbar
view
)
.
Deprecated
:
*
pidgin_check_if_dir
libgnt
:
Added
:
*
gnt_tree_row_get_key
,
gnt_tree_row_get_next
,
gnt_tree_row_get_prev
,
gnt_tree_row_get_child
and
gnt_tree_row_get_parent
.
version
2.7
.
2
(
07
/
21
/
2010
):
*
No
changes
version
2.7
.
1
(
05
/
29
/
2010
):
*
No
changes
version
2.7
.
0
(
05
/
12
/
2010
):
libpurple
:
Added
:
*
Account
signals
(
see
account
-
signals
.
dox
);
useful
for
D
-
Bus
*
account
-
signed
-
on
*
account
-
signed
-
off
*
account
-
connection
-
error
*
purple_account_get_name_for_display
*
purple_account_get_privacy_type
*
purple_account_get_public_alias
*
purple_account_set_privacy_type
*
purple_account_set_public_alias
*
buddy
-
caps
-
changed
blist
signal
*
Added
media_caps
to
the
PurpleBuddy
struct
*
purple_buddy_get_media_caps
*
purple_buddy_set_media_caps
*
purple_certificates_import
for
importing
multiple
certificates
from
a
single
file
(
and
corresponding
import_certificates
member
of
PurpleCertificateScheme
struct
)
*
autojoin
connection
signal
*
purple_contact_get_group
*
sent
-
attention
conversation
signal
*
got
-
attention
conversation
signal
*
ui
-
caps
-
changed
media
manager
signal
*
purple_media_candidate_copy
*
purple_media_codec_copy
*
purple_media_manager_get_backend_type
*
purple_media_manager_set_backend_type
*
PurpleMood
struct
in
status
.
h
*
purple_network_get_all_local_system_ips
,
which
returns
all
local
IPs
on
the
system
.
On
systems
with
the
getifaddrs
()
function
,
this
will
return
both
IPv4
and
IPv6
addresses
(
excluding
link
-
local
and
loopback
addresses
)
.
On
others
,
it
returns
just
IPv4
addresses
.
*
purple_network_listen_family
and
purple_network_listen_range_family
.
These
will
replace
the
versions
without
_family
in
3.0
.
0
and
allow
the
caller
to
specifically
request
either
an
IPv4
or
IPv6
socket
.
IPv6
is
only
supported
if
the
getaddrinfo
()
function
is
available
at
build
-
time
(
not
the
case
on
Windows
,
currently
)
.
*
purple_prpl_got_media_caps
*
purple_request_action_with_icon
*
purple_request_action_with_icon_varg
*
purple_socket_get_family
*
purple_socket_speaks_ipv4
*
purple_unescape_text
*
purple_uuid_random
*
purple_xfer_get_thumbnail
*
purple_xfer_get_thumbnail_mimetype
*
purple_xfer_set_thumbnail
*
purple_xfer_prepare_thumbnail
Pidgin
:
Added
:
*
pidgin_dialogs_buildinfo
(
should
not
be
used
by
anything
but
Pidgin
)
*
pidgin_dialogs_developers
(
should
not
be
used
by
anything
but
Pidgin
)
*
pidgin_dialogs_translators
(
should
not
be
used
by
anything
but
Pidgin
)
*
gtk_imhtmltoolbar_switch_active_conversation
*
'paste'
signal
for
GtkIMHtml
(
more
in
gtkimhtml
-
signals
.
dox
)
*
'drawing-buddy'
signal
for
gtkblist
(
more
in
gtkblist
-
signals
.
dox
)
version
2.6
.
6
(
02
/
18
/
2010
):
libpurple
:
Changed
:
*
purple_xfer_cancel_local
is
now
called
instead
of
purple_xfer_request_denied
if
an
error
is
found
when
selecting
a
file
to
send
.
Request
denied
is
still
used
when
a
receive
request
is
not
allowed
.
*
xmlnode_from_str
now
properly
handles
parsing
an
attribute
which
contain
"<br>"
,
which
were
previously
transformed
into
a
newline
character
(
libxml2
unescapes
all
entities
except
representations
of
'&'
,
and
libpurple
's purple_unescape_html
converts
"<br>"
to
a
newline
)
.
Perl
:
Changed
:
*
Corrected
the
package
names
for
the
PurpleProxyType
and
PurpleLogReadFlags
enums
to
have
the
correct
number
of
colons
(
from
Purple
::
ProxyType
::::
<
type
>
to
Purple
::
ProxyType
::
<
type
>
and
Purple
::
Log
:
ReadFlags
::::
<
type
>
to
Purple
::
Log
::
ReadFlags
::
<
type
>
)
(
Chris
Foote
)
version
2.6
.
5
(
01
/
08
/
2010
):
No
changes
version
2.6
.
4
(
11
/
29
/
2009
):
No
changes
version
2.6
.
3
(
10
/
16
/
2009
):
No
changes
version
2.6
.
2
(
09
/
05
/
2009
):
Perl
:
Added
:
*
Purple
::
XMLNode
::
get_next
(),
which
returns
the
next
neighbor
tag
of
the
current
node
.
Changed
:
*
Purple
::
XMLNode
::
get_child
()
will
return
the
first
child
node
if
passed
""
or
undef
as
the
name
of
the
node
.
version
2.6
.
1
(
08
/
18
/
2009
):
No
changes
version
2.6
.
0
(
08
/
18
/
2009
):
libpurple
:
Added
:
*
PurpleMedia
and
PurpleMediaManager
API
*
PURPLE_BLIST_NODE
*
PURPLE_GROUP
*
PURPLE_CONTACT
*
PURPLE_BUDDY
*
PURPLE_CHAT
*
Account
signals
(
see
account
-
signals
.
dox
)
*
account
-
actions
-
changed
*
account
-
created
*
account
-
destroying
*
blist
-
node
-
added
and
blist
-
node
-
removed
signals
(
see
blist
-
signals
.
dox
)
*
Three
Blist
UI
ops
used
to
overload
libpurple
's built-in saving
of
the
buddy
list
to
blist
.
xml
.
If
a
UI
implements
these
,
it
probably
wants
to
add
the
buddies
itself
and
not
call
purple_blist_load
.
*
Three
File
Transfer
UI
ops
used
to
overload
libpurple
's use of fread
and
fwrite
for
saving
a
file
locally
.
These
allow
a
UI
to
stream
a
file
through
a
socket
without
buffering
the
file
on
the
local
disk
.
*
Jabber
plugin
signals
(
see
jabber
-
signals
.
dox
)
*
purple_account_remove_setting
*
purple_buddy_destroy
*
purple_buddy_get_protocol_data
*
purple_buddy_set_protocol_data
*
purple_buddy_get_local_buddy_alias
*
purple_blist_get_buddies
*
purple_blist_get_ui_data
*
purple_blist_set_ui_data
*
purple_blist_node_get_ui_data
*
purple_blist_node_set_ui_data
*
purple_certificate_check_signature_chain_with_failing
*
purple_chat_destroy
*
purple_connection_get_protocol_data
*
purple_connection_set_protocol_data
*
purple_contact_destroy
*
purple_conv_chat_invite_user
*
purple_debug_is_unsafe
*
purple_debug_is_verbose
*
purple_debug_set_unsafe
*
purple_debug_set_verbose
*
purple_global_proxy_set_info
*
purple_group_destroy
*
purple_ipv4_address_is_valid
*
purple_ipv6_address_is_valid
*
purple_log_get_activity_score
*
purple_markup_is_rtl
*
purple_markup_escape_text
*
purple_network_convert_idn_to_ascii
*
purple_network_force_online
*
purple_network_set_stun_server
*
purple_network_set_turn_server
*
purple_network_get_stun_ip
*
purple_network_get_turn_ip
*
purple_network_remove_port_mapping
*
purple_plugins_get_search_paths
*
purple_proxy_connect_udp
*
purple_prpl_get_media_caps
*
purple_prpl_got_account_actions
*
purple_prpl_initiate_media
*
purple_request_field_get_group
*
purple_request_field_get_ui_data
*
purple_request_field_set_ui_data
*
purple_ssl_connect_with_ssl_cn
*
purple_strequal
*
purple_utf8_strip_unprintables
*
purple_util_fetch_url_request_len_with_account
*
purple_xfer_prpl_ready
*
purple_xfer_ui_ready
*
xmlnode_from_file
*
xmlnode_get_parent
*
xmlnode_set_attrib_full
*
PURPLE_STATUS_MOOD
as
a
new
PurpleStatusPrimitive
Changed
:
*
xmlnode_remove_attrib
now
removes
all
attributes
with
the
same
name
.
Previously
,
it
would
remove
the
first
one
found
,
which
was
completely
non
-
deterministic
.
If
you
want
to
remove
the
attribute
with
no
namespace
,
then
use
NULL
with
xmlnode_remove_with_namespace
.
*
Plugins
may
now
emit
the
jabber
-
sending
-
xmlnode
signal
in
order
to
send
stanzas
;
this
method
is
preferred
to
the
prpl
send_raw
function
as
other
plugins
listening
to
the
signal
see
them
.
*
The
conversation
-
updated
signal
with
a
PURPLE_CONV_UPDATE_TYPING
update
type
is
emitted
when
receiving
an
IM
.
Previously
,
the
typing
state
was
modified
(
and
the
buddy
-
typing
-
stopped
signal
emitted
),
but
this
signal
was
not
emitted
.
*
Added
a
client_type
field
in
the
get_ui_info
core
UI
op
.
See
core
.
h
for
details
.
*
Added
introspection
of
signals
exposed
via
the
D
-
Bus
API
.
*
purple_find_buddies
is
now
more
efficient
in
the
case
where
it
is
enumerating
all
the
buddies
for
an
account
.
*
purple_find_group
is
now
more
efficient
for
large
numbers
of
groups
.
*
purple_find_conversation_with_account
is
more
efficient
for
large
numbers
of
concurrent
conversations
.
*
All
DNS
routines
support
internationalized
domain
names
(
IDNs
)
when
libpurple
is
compiled
with
GNU
libidn
.
*
status
is
set
before
emitting
signals
in
purple_xfer_set_status
.
*
Creating
multiple
distinct
chats
with
the
same
name
(
i
.
e
.
"MSN Chat"
)
is
deprecated
and
will
be
removed
in
libpurple
3.0
.
0.
*
purple_xfer_start
now
accepts
-
1
as
the
fd
parameter
if
the
protocol
plugin
will
administer
the
transfer
itself
.
0
is
still
accepted
for
backward
compatibility
since
older
versions
of
libpurple
will
not
accept
-
1.
Deprecated
:
*
buddy
-
added
and
buddy
-
removed
blist
signals
*
purple_blist_destroy
*
purple_blist_new
*
purple_buddy_get_local_alias
*
purple_certificate_check_signature_chain
*
purple_ip_address_is_valid
*
purple_notify_user_info_remove_entry
*
purple_set_blist
*
purple_status_type_set_primary_attr
*
purple_status_type_add_attr
*
purple_status_type_add_attrs
*
purple_status_type_add_attrs_vargs
*
purple_status_type_get_primary_attr
*
purple_status_set_attr_boolean
*
purple_status_set_attr_int
*
purple_status_set_attr_string
*
purple_presence_add_status
*
purple_presence_add_list
*
purple_util_fetch_url_request_len
*
xmlnode_set_attrib_with_namespace
*
xmlnode_set_attrib_with_prefix
pidgin
:
Added
:
*
gtk_imhtml_class_register_protocol
*
gtk_imhtml_link_get_url
,
gtk_imhtml_link_get_text_tag
,
gtk_imhtml_link_activate
functions
to
process
GtkIMHtmlLink
objects
from
GtkIMHtml
protocol
callbacks
.
*
gtk_imhtml_set_return_inserts_newline
*
gtk_imhtml_set_populate_primary_clipboard
*
pidgin_blist_set_theme
*
pidgin_blist_get_theme
*
pidgin_prefs_labeled_password
*
pidgin_smiley_editor_set_data
*
pidgin_sound_is_customized
*
pidgin_utils_init
,
pidgin_utils_uninit
*
pidgin_notify_pounce_add
*
PidginBlistTheme
,
PidginBlistThemeLoader
API
*
PidginIconTheme
,
PidginStatusIconTheme
,
PidginIconThemeLoader
API
*
pidgin_stock_id_from_status_primitive
*
pidgin_stock_id_from_presence
libgnt
:
Added
:
*
GntProgressBar
and
functions
(
Saleem
Abdulrasool
)
perl
:
Added
:
*
Purple
::
XMLNode
::
get_name
()
Changed
:
*
Made
a
bunch
of
functions
act
more
perl
-
like
.
Call
the
new
()
functions
as
Class
->
new
(
...
)
instead
of
Class
::
new
(
...
):
*
Purple
::
Request
::
Fields
::
new
*
Purple
::
Request
::
Field
::
new
*
Purple
::
Request
::
Field
::
account_new
*
Purple
::
Request
::
Field
::
bool_new
*
Purple
::
Request
::
Field
::
choice_new
*
Purple
::
Request
::
Field
::
int_new
*
Purple
::
Request
::
Field
::
label_new
*
Purple
::
Request
::
Field
::
list_new
*
Purple
::
Request
::
Field
::
string_new
*
Purple
::
Request
::
Field
::
group_new
*
Make
the
XMLNode
API
more
perl
-
like
.
Don
't pass len
parameters
and
call
them
like
:
*
$
xmlnode
->
copy
()
*
$
xmlnode
->
to_str
()
*
$
xmlnode
->
to_formatted_str
()
*
Purple
::
XMLNode
::
from_str
(
...
)
version
2.5
.
9
(
08
/
18
/
2009
):
No
changes
version
2.5
.
8
(
06
/
27
/
2009
):
No
changes
version
2.5
.
7
(
06
/
20
/
2009
):
No
changes
version
2.5
.
6
(
05
/
19
/
2009
):
No
changes
version
2.5
.
5
(
03
/
01
/
2009
):
libpurple
:
Changed
:
*
purple_status_type_new
now
defaults
"saveable"
to
TRUE
.
This
was
necessary
in
order
to
maintain
the
current
behavior
while
fixing
non
-
saveable
statuses
not
to
be
saved
.
*
xmlnode_get_prefix
,
xmlnode_to_str
and
xmlnode_to_formatted_str
now
all
take
a
const
xmlnode
*
instead
of
an
xmlnode
*
version
2.5
.
4
(
01
/
12
/
2009
):
perl
:
Changed
:
*
Purple
::
PluginPref
->
get_bounds
no
longer
takes
two
integer
arguments
it
now
returns
two
integers
.
Removed
:
*
Removed
a
handful
of
string
-
related
utility
functions
that
can
generally
be
better
handled
with
perl
's built-in string
functions
rather
than
using
pidgin
's:
*
Purple
::
Util
::
strcasereplace
*
Purple
::
Util
::
strcasestr
*
Purple
::
Util
::
strreplace
*
Purple
::
Util
::
str_strip_char
*
Purple
::
Util
::
chrreplace
version
2.5
.
3
(
12
/
20
/
2008
):
libpurple
Changed
:
*
purple_util_fetch_url
and
purple_util_fetch_url_request
can
now
fetch
https
URLs
version
2.5
.
0
(
08
/
18
/
2008
):
libpurple
:
Added
:
*
Connection
flag
PURPLE_CONNECTION_ALLOW_CUSTOM_SMILEY
to
indicate
that
the
connection
supports
sending
and
receiving
custom
smileys
.
*
PurpleSmiley
and
the
Smiley
API
.
*
purple_serv_got_join_chat_failed
*
chat
-
join
-
failed
signal
(
see
conversation
-
signals
.
dox
)
*
chat
-
invite
-
blocked
and
blocked
-
im
-
msg
signals
(
see
converation
-
signals
.
dox
)
(
Thanks
to
Stefan
Ott
)
*
purple_blist_update_node_icon
*
purple_buddy_icons_node_has_custom_icon
*
purple_buddy_icons_node_find_custom_icon
*
purple_buddy_icons_node_set_custom_icon
*
purple_buddy_icons_node_set_custom_icon_from_file
*
purple_notify_user_info_prepend_section_break
*
purple_notify_user_info_prepend_section_header
*
"website"
and
"dev_website"
items
to
the
ui_info
hash
table
*
purple_cmds_get_handle
,
purple_cmds_init
,
purple_cmds_uninit
*
cmd
-
added
and
cmd
-
removed
signals
*
purple_get_host_name
*
purple_util_fetch_url_len
(
temporary
function
overload
to
add
max_len
param
)
*
purple_util_fetch_url_request_len
*
purple_prpl_send_attention
*
purple_prpl_got_attention
*
purple_prpl_got_attention_in_chat
Deprecated
:
*
purple_blist_update_buddy_icon
*
purple_buddy_icons_has_custom_icon
*
purple_buddy_icons_find_custom_icon
*
purple_buddy_icons_set_custom_icon
*
pidgin_set_custom_buddy_icon
*
purple_util_fetch_url_len
*
purple_util_fetch_url_request_len
*
serv_send_attention
*
serv_got_attention
Changed
:
*
xmlnode_copy
now
copies
the
prefix
and
namespace
map
for
nodes
.
pidgin
:
Added
:
*
gtk_imhtml_smiley_create
,
gtk_imhtml_smiley_reload
and
gtk_imhtml_smiley_destroy
to
deal
with
GtkIMHtmlSmiley
's.
*
pidgin_pixbuf_from_imgstore
to
create
a
GdkPixbuf
from
a
PurpleStoredImage
.
*
pidgin_themes_smiley_themeize_custom
to
associate
custom
smileys
to
a
GtkIMHtml
widget
.
*
GTK_IMHTML_CUSTOM_SMILEY
flag
for
GtkIMHtml
.
*
GTK
+
Custom
Smiley
API
.
version
2.4
.
2
(
05
/
17
/
2008
):
perl
:
Added
:
*
Purple
::
Prefs
::
get_children_names
.
*
Purple
::
timeout_remove
.
Changed
:
*
Purple
::
timeout_add
now
returns
a
handle
which
can
be
used
to
remove
the
timeout
.
*
Callbacks
to
Purple
::
Util
::
fetch_url
and
the
Purple
::
Request
::
*
functions
can
now
be
specified
as
both
strings
(
the
name
of
the
callback
function
)
and
as
coderefs
.
Finch
:
libgnt
:
*
Added
gnt_bindable_check_key
to
check
if
a
keystroke
is
bound
.
version
2.4
.
0
(
02
/
29
/
2008
):
libpurple
:
Added
:
*
purple_certificate_add_ca_search_path
.
(
Florian
Quèze
)
*
purple_gai_strerror
.
*
purple_major_version
,
purple_minor_version
,
purple_micro_version
variables
are
exported
by
version
.
h
,
giving
the
version
of
libpurple
in
use
at
runtime
.
*
purple_util_set_current_song
,
purple_util_format_song_info
*
purple_ip_address_is_valid
*
Some
accessor
functions
to
the
Roomlist
API
:
*
purple_roomlist_get_fields
*
purple_roomlist_room_get_type
*
purple_roomlist_room_get_name
*
purple_roomlist_room_get_parent
*
purple_roomlist_room_get_fields
*
purple_roomlist_field_get_type
*
purple_roomlist_field_get_label
*
purple_roomlist_field_get_hidden
*
unlocalized_name
field
in
PurpleAttentionType
for
UIs
that
need
it
.
*
Some
accessor
and
mutator
functions
for
PurpleAttentionType
:
*
purple_attention_type_set_name
*
purple_attention_type_set_incoming_desc
*
purple_attention_type_set_outgoing_desc
*
purple_attention_type_set_icon_name
*
purple_attention_type_set_unlocalized_name
*
purple_attention_type_get_name
*
purple_attention_type_get_incoming_desc
*
purple_attention_type_get_outgoing_desc
*
purple_attention_type_get_icon_name
*
purple_attention_type_get_unlocalized_name
*
Add
some
PurpleBuddyListNode
accessor
functions
:
*
purple_blist_node_get_parent
*
purple_blist_node_get_first_child
*
purple_blist_node_get_sibling_next
*
purple_blist_node_get_sibling_prev
*
Added
last_received
to
PurpleConnection
,
the
time_t
of
the
last
received
packet
.
*
Added
some
more
accessor
functions
:
*
purple_chat_get_account
*
purple_chat_get_components
*
purple_connection_get_prpl
*
purple_xfer_get_start_time
*
purple_xfer_get_end_time
*
purple_serv_got_private_alias
for
prpls
to
call
after
receiving
a
private
alias
from
the
server
.
Pidgin
:
Added
:
*
pidgin_create_dialog
to
create
a
window
that
closes
on
escape
.
Also
added
utility
functions
pidgin_dialog_get_vbox_with_properties
,
pidgin_dialog_get_vbox
,
pidgin_dialog_get_action_area
to
access
the
contents
in
the
created
dialog
.
(
Peter
'fmoo'
Ruibal
)
*
pidgin_dialog_add_button
to
add
buttons
to
a
dialog
created
by
pidgin_create_dialog
.
*
GTK_IMHTML_NO_SMILEY
for
GtkIMHtmlOptions
means
not
to
look
for
smileys
in
the
text
.
(
Florian
'goutnet'
Delizy
)
*
pidgin_auto_parent_window
to
make
a
window
transient
for
a
suitable
parent
window
.
*
pidgin_tooltip_setup_for_treeview
,
pidgin_tooltip_destroy
,
pidgin_tooltip_show
and
pidgin_tooltip_setup_for_widget
to
simplify
the
process
of
drawing
tooltips
.
*
pidgin_add_widget_to_vbox
to
simplify
adding
a
labeled
widget
to
a
window
.
Deprecated
:
*
PIDGIN_DIALOG
Finch
:
*
finch_roomlist_get_ui_ops
and
finch_roomlist_show_all
*
finch_request_field_get_widget
to
get
the
widget
for
a
request
field
.
*
finch_blist_get_tree
to
get
the
GntTree
widget
representing
the
buddy
list
.
*
FinchBlistManager
structure
to
manage
the
buddylist
view
,
and
some
util
functions
finch_blist_install_manager
,
finch_blist_uninstall_manager
,
finch_blist_manager_find
and
finch_blist_manager_add_node
.
*
Added
finch_log_show
,
finch_log_show_contact
,
finch_syslog_show
,
finch_log_init
,
finch_log_get_handle
,
finch_log_uninit
libgnt
:
*
Added
gnt_tree_set_row_color
to
set
the
color
for
a
row
in
a
tree
.
*
Added
gnt_style_get_string_list
*
Added
gnt_color_add_pair
to
define
a
new
color
.
*
Added
gnt_colors_get_color
to
get
an
ncurses
color
value
from
a
string
.
*
Added
gnt_style_get_color
to
get
a
color
pair
from
an
entry
in
~/.
gntrc
*
Added
gnt_tree_get_parent_key
to
get
the
key
for
the
parent
row
.
version
2.3
.
0
(
11
/
24
/
2007
):
libpurple
:
Added
:
*
a
PurpleConversation
field
and
an
alias
field
in
PurpleConvMessage
*
account
-
authorization
signals
(
see
account
-
signals
.
dox
for
details
)
(
Stefan
Ott
)
*
libpurple
/
purple
.
h
,
which
includes
#define's and #include's
required
to
compile
stand
-
alone
plugins
*
PURPLE_STATUS_TUNE
as
a
new
PurpleStatusPrimitive
*
purple_plugin_disable
(),
which
is
intended
to
be
called
when
a
purple_plugin_unload
()
--
which
was
called
when
a
user
tried
to
unload
a
plugin
--
fails
.
This
then
prevents
the
plugin
from
being
saved
in
the
saved
plugins
list
,
so
it
'll won'
t
be
loaded
at
the
next
startup
.
*
PurpleDisconnectReason
enumeration
of
machine
-
readable
types
of
connection
error
.
*
purple_connection_error_reason
(),
to
be
used
by
prpls
(
instead
of
purple_connection_error
()
and
setting
gc
->
wants_to_die
)
to
report
errors
along
with
a
PurpleDisconnectReason
.
*
PurpleConnectionUiOps
.
report_disconnect_reason
,
to
be
implemented
by
UIs
(
rather
than
.
report_disconnect
)
if
they
want
to
use
the
reported
PurpleDisconnectReason
to
give
a
more
specific
error
.
*
A
connection
-
error
signal
,
fired
just
after
the
UiOp
is
called
with
the
same
information
.
*
purple_connection_reason_is_fatal
(),
acting
as
a
hint
to
whether
automatic
reconnection
should
be
attempted
after
a
connection
error
(
rather
than
checking
gc
->
wants_to_die
)
.
*
PurpleConnectionErrorInfo
,
a
struct
to
hold
a
PurpleConnectionError
and
a
const
char
*
description
.
*
purple_account_get_current_error
()
to
get
the
most
recent
PurpleConnectionError
and
description
(
or
NULL
if
the
account
is
happy
with
life
),
to
allow
bits
of
the
UI
to
know
the
last
error
without
caching
it
themselves
(
as
PidginBuddyList
does
)
.
*
purple_account_clear_current_error
()
to
reset
an
account
's
error
state
to
NULL
.
*
An
account
-
error
-
changed
signal
,
firing
when
purple_account_get_current_error
()
's return value changes.
*
PidginMiniDialog
,
a
Gtk
widget
-
ified
version
of
pidgin_make_mini_dialog
()
.
*
purple_util_init
()
*
purple_util_uninit
()
*
purple_network_listen_map_external
()
to
temporarily
disable
mapping
ports
externally
via
NAT
-
PMP
or
UPnP
.
Changed
:
*
purple_plugin_unload
()
now
honors
the
return
value
of
a
plugin
's unload function and can actually return FALSE now.
*
purple_plugin_unload
()
no
longer
does
its
own
notifications
when
a
dependent
plugin
fails
to
unload
.
The
UI
should
do
something
appropriate
.
*
pidgin_make_mini_dialog
()
now
declares
its
return
type
to
be
GtkWidget
*
rather
than
void
*.
This
should
not
break
any
existing
code
since
any
code
using
it
must
already
rely
on
the
return
type
actually
being
GtkWidget
*
all
along
.
Deprecated
:
*
pidgin_dialogs_about
()
*
pidgin_log_show_contact
()
*
pidgin_log_show
()
*
pidgin_plugin_dialog_show
()
*
pidgin_pounce_editor_show
()
*
pidgin_pounces_manager_show
()
*
pidgin_syslog_show
()
*
purple_connection_error
()
*
pidgin_blist_update_account_error_state
()
*
PidginBuddyList
.
connection_errors
*
purple_network_listen_map_external
()
MSN
:
*
A
new
independant
status
type
with
PURPLE_STATUS_TUNE
primitive
,
and
PURPLE_TUNE_ARTIST
,
PURPLE_TUNE_ALBUM
and
PURPLE_TUNE_TITLE
attributes
.
XMPP
:
*
A
new
independant
status
type
with
PURPLE_STATUS_TUNE
primitive
,
and
PURPLE_TUNE_
{
ARTIST
,
TITLE
,
ALBUM
,
GENRE
,
COMMENT
,
TRACK
,
TIME
,
YEAR
,
URL
}
attributes
.
Finch
:
libgnt
:
*
Added
gnt_color_pair
,
which
will
try
to
intelligenty
set
text
attributes
in
place
of
colors
if
the
terminal
doesn
't have color
support
.
(
Bug
:
#3560) All future code should use gnt_color_pair
instead
of
COLOR_PAIR
.
*
Added
gnt_menuitem_set_id
and
gnt_menuitem_get_id
to
set
and
get
the
string
id
of
a
menuitem
respectively
.
*
Added
gnt_window_get_accel_item
,
which
returns
a
the
id
of
a
menuitem
bound
to
a
keystroke
.
*
Added
gnt_menu_get_item
to
get
a
menuitem
of
the
given
id
from
a
menu
.
*
Added
gnt_menuitem_activate
,
which
triggers
the
'activate'
signal
on
the
menuitem
and
calls
the
callback
function
,
if
available
.
*
Added
GntEntryKillRing
in
GntEntry
.
*
Added
gnt_window_set_maximize
and
gnt_window_get_maximize
,
and
GntWindowFlags
enum
.
version
2.2
.
2
(
10
/
23
/
2007
):
libpurple
:
Changed
:
*
The
size
parameter
of
purple_util_write_data_to_file_absolute
has
been
changed
to
gssize
instead
of
a
size_t
to
correctly
indicate
that
-
1
can
be
used
for
a
nul
-
delimited
string
.
*
The
documentation
for
purple_savedstatuses_get_popular
used
to
incorrectly
claim
that
the
active
status
is
excluded
from
the
returned
list
.
The
documentation
has
been
corrected
.
Also
,
the
function
now
returns
a
correct
list
when
called
with
a
value
of
0.
version
2.2
.
0
(
09
/
13
/
2007
):
libpurple
:
Added
:
*
PURPLE_MESSAGE_INVISIBLE
flag
,
which
can
be
used
by
purple_conv_im_send_with_flags
to
send
a
message
,
but
not
display
it
in
the
conversation
*
serv_send_attention
(),
serv_got_attention
(),
as
well
as
send_attention
and
attention_types
in
PurplePluginProtocolInfo
.
This
new
API
is
used
for
zapping
in
MySpaceIM
,
buzzing
in
Yahoo
,
and
nudging
in
MSN
.
*
PurpleConvMessage
structure
to
represent
a
message
in
a
conversation
.
purple_conversation_message_get_sender
,
purple_conversation_message_get_message
,
purple_conversation_message_get_flags
and
purple_conversation_message_get_timestamp
to
get
information
about
a
PurpleConvMessage
.
*
purple_conversation_get_message_history
()
to
retrieve
a
list
of
PurpleConvMessage
's in a conversation, and
purple_conversation_clear_message_history
to
clear
the
history
.
*
purple_certificate_
*
functions
in
libpurple
/
certificate
.
h
-
"A public-key certificate API"
*
purple_ssl_get_peer_certificates
()
and
associated
field
in
PurpleSslOps
to
retrieve
a
server
's presented SSL certificate chain.
*
PurpleSslConnection
::
verifier
to
provide
a
"how to verify the peer's certificates"
callback
to
the
SSL
handlers
.
See
certificate
.
h
for
more
on
this
.
*
purple_ssl_connect_with_host_fd
()
to
create
an
SSL
connection
from
a
file
descriptor
and
provide
a
hostname
with
it
to
authenticate
the
peer
against
.
Changed
:
*
purple_prefs_load
is
now
called
within
purple_prefs_init
.
The
UI
no
longer
needs
to
call
it
.
*
writing
-
im
-
msg
now
receives
the
conversation
name
as
the
who
argument
if
the
caller
of
purple_conversation_write
didn
't
provide
a
value
for
who
.
Pidgin
:
Added
:
*
pidgin_set_accessible_relations
,
sets
up
label
-
for
and
labelled
-
by
ATK
relations
(
broken
out
from
pidgin_set_accessible_label
)
*
pidgin_conv_attach_to_conversation
,
to
reattach
the
Pidgin
UI
to
a
conversation
*
conversation
-
hiding
and
conversation
-
displayed
signals
.
*
pidgin_text_combo_box_entry_new
,
pidgin_text_combo_box_entry_get_text
and
pidgin_text_combo_box_entry_set_text
Changed
:
*
pidgin_conversations_fill_menu
now
also
adds
a
separator
and
a
'Show
All
' item if there are more than one conversations in the list.
Finch
:
Added
:
*
finch_sound_is_enabled
*
The
reserved
field
in
the
FinchConv
is
now
used
to
store
information
about
the
conversation
(
using
FinchConversationFlag
)
*
finch_account_dialog_show
libgnt
:
*
gnt_slider_set_small_step
,
gnt_slider_set_large_step
to
allow
more
fine
tuned
updates
of
a
GntSlider
*
gnt_util_parse_xhtml_to_textview
to
parse
XHTML
strings
in
a
GntTextView
(
this
works
only
if
libxml2
is
available
)
version
2.1
.
1
(
08
/
20
/
2007
):
libpurple
:
Changed
:
*
PurpleAccountUiOps
.
request_authorize
's authorize_cb and
deny_cb
parameters
now
correctly
have
type
PurpleAccountRequestAuthorizationCb
rather
than
GCallback
.
(
You
'll want to change your UI'
s
implementation
's signature
to
avoid
warnings
,
and
then
remove
some
now
-
redundant
casts
back
to
the
proper
type
.
)
version
2.1
.
0
(
7
/
28
/
2007
):
libpurple
:
Added
:
*
purple
-
remote
:
added
getstatus
command
*
conversation
-
extended
-
menu
signal
(
See
Doxygen
docs
)
*
OPT_PROTO_SLASH_COMMANDS_NATIVE
protocol
option
to
indicate
that
slash
commands
are
"native"
to
the
protocol
*
PURPLE_MESSAGE_NO_LINKIFY
message
flag
to
indicate
that
the
message
should
not
be
auto
-
linkified
*
PurpleEventLoopUiOps
.
timeout_add_seconds
UIs
can
now
use
better
scheduling
for
whole
-
second
timers
.
For
example
,
clients
based
on
the
glib
event
loop
can
now
use
g_timeout_add_seconds
.
*
purple_blist_node_get_type
*
purple_conversation_do_command
*
purple_conversation_get_extended_menu
*
purple_core_ensure_single_instance
This
is
for
UIs
to
use
to
ensure
only
one
copy
is
running
.
*
purple_dbus_is_owner
*
purple_timeout_add_seconds
Callers
should
prefer
this
to
purple_timeout_add
for
timers
longer
than
1
second
away
.
Be
aware
of
the
rounding
,
though
.
*
purple_xfer_get_remote_user
*
purple_pounces_get_all_for_ui
*
purple_prefs_get_children_names
*
added
displaying
-
email
-
notification
and
displaying
-
emails
-
notification
signals
Changed
:
*
The
documentation
of
the
following
functions
now
properly
declares
that
the
returned
value
must
not
be
modified
or
freed
,
which
was
always
the
case
:
*
purple_accounts_get_all
*
purple_connections_get_all
*
purple_connections_get_connecting
*
purple_conv_chat_get_ignored
*
purple_conv_chat_get_users
*
purple_get_chats
*
purple_get_conversations
*
purple_get_ims
*
purple_notify_user_info_get_entries
*
The
following
functions
now
return
a
GList
*
instead
of
a
const
GList
*
,
as
const
is
not
very
useful
with
GLists
.
The
returned
value
still
must
not
be
modified
or
freed
:
*
purple_account_get_status_types
*
purple_mime_document_get_fields
*
purple_mime_document_get_parts
*
purple_mime_part_get_fields
*
purple_request_fields_get_required
*
purple_request_field_list_get_selected
*
purple_request_field_list_get_items
*
purple_status_type_get_attrs
*
purple_presence_get_statuses
*
purple_request_field_list_set_selected
now
takes
a
GList
*
instead
of
a
const
GList
*
for
items
,
as
const
is
not
very
useful
with
GLists
.
The
passed
list
is
still
not
modified
or
freed
.
*
purple_presence_add_list
now
takes
a
GList
*
instead
of
a
const
GList
*
for
source_list
,
as
const
is
not
very
useful
with
GLists
.
The
passed
list
is
still
not
modified
or
freed
.
Pidgin
:
Added
:
*
gtk_imhtml_setup_entry
*
pidgin_create_window
*
pidgin_retrieve_user_info
and
pidgin_retrieve_user_info_in_chat
,
shows
immediate
feedback
when
getting
information
about
a
user
.
*
gtk_imhtml_animation_new
Can
be
used
for
inserting
an
animated
image
into
an
IMHTML
.
*
pidgin_menu_position_func_helper
*
pidgin_blist_get_name_markup
,
returns
the
buddy
list
markup
text
for
a
given
buddy
.
*
pidgin_blist_draw_tooltip
and
pidgin_blist_tooltip_destroy
for
creating
blist
tooltips
from
outside
of
buddy
list
code
*
pidgin_themes_remove_smiley_theme
Changed
:
*
pidgin_append_menu_action
returns
the
menuitem
added
to
the
menu
.
*
pidgin_separator
returns
the
separator
added
to
the
menu
.
*
PidginConversation
has
struct
members
to
handle
the
new
info
pane
:
*
infopane
*
infopane_hbox
*
infopane_model
*
infopane_iter
Finch
:
Added
:
*
finch_retrieve_user_info
libgnt
:
Added
:
*
GntWS
for
workspaces
*
gnt_tree_set_column_title
*
GntSlider
widget
*
"completion"
signal
for
GntEntry
*
"terminal-refresh"
signal
for
GntWM
,
with
a
corresponding
entry
in
GntWMClass
*
New
flags
for
GntTextView
to
decide
whether
to
word
-
wrap
or
show
scrollbars
(
GntTextViewFlag
)
which
can
be
set
by
gnt_text_view_set_flag
*
gnt_style_get_from_name
*
gnt_window_present
*
gnt_tree_set_column_width_ratio
*
gnt_tree_set_column_resizable
*
gnt_tree_set_column_is_right_aligned
*
gnt_tree_set_search_function
,
gnt_tree_set_search_column
,
gnt_tree_is_searching
*
'file-selected'
signal
is
emited
for
GntFileSel
*
gnt_style_parse_bool
*
gnt_util_set_trigger_widget
Changed
:
*
gnt_tree_get_rows
()
now
returns
a
GList
*
instead
of
a
const
GList
*
,
as
const
is
not
very
useful
with
GLists
.
The
returned
value
still
must
not
be
modified
or
freed
.
*
Instead
of
keeping
an
'invisible'
item
,
the
GntTreeColumns
now
maintain
'flags'
with
the
appropriate
flags
set
version
2.0
.
2
(
6
/
14
/
2007
):
Pidgin
:
Deprecated
:
*
pidgin_dialogs_alias_contact
:
This
will
be
removed
in
3.0
.
0
unless
there
is
sufficient
demand
to
keep
it
.
version
2.0
.
0
(
5
/
3
/
2007
):
Please
note
all
functions
,
defines
,
and
data
structures
have
been
re
-
namespaced
to
match
the
new
names
of
Pidgin
,
Finch
,
and
libpurple
.
All
gaim_gtk_
*
functions
are
now
pidgin_
*
,
former
libgaim
functions
are
now
purple_
*.
Please
consult
our
doxygen
documentation
for
a
complete
reference
.
The
gaim
-
compat
.
h
header
exists
to
provide
an
API
compatibility
layer
for
libpurple
functions
.
As
an
API
compatibility
layer
,
it
must
be
included
at
compile
time
to
be
of
use
.
Changed
:
*
All
the
status
stuff
.
Yay
!
*
gaim_prefs_connect_callback
(),
added
handle
parameter
*
gtk_imhtml_toolbar
now
descends
from
GtkHBox
making
it
easier
to
add
your
own
widgets
to
it
*
gaim_find_conversation_with_account
,
added
a
"type"
parameter
*
gaim_gtk_prefs_labeled_spin_button
,
the
"key"
parameter
is
now
a
const
char
*
instead
of
just
a
char
*
*
gaim_gtk_prefs_labeled_entry
,
the
"key"
parameter
is
now
a
const
char
*
instead
of
just
a
char
*
*
the
add_buddy
perl
sub
.
The
sub
now
takes
the
account
as
the
first
argument
,
and
buddy
and
group
as
the
second
and
third
.
It
also
adds
the
buddy
to
the
server
-
side
buddy
list
of
the
given
account
.
*
gaim_connection_new
,
gaim_account_connect
and
gaim_account_register
no
longer
return
a
GaimConnection
*
keep_alive
in
GaimConnection
is
renamed
to
keepalive
*
gaim_mkstemp
,
added
a
second
argument
,
a
boolean
,
of
whether
or
not
the
file
is
binary
*
gaim_log_logger_new
,
rewritten
*
gaim_conv_window_remove_conversation
()
's last argument to be a
GaimConversation
.
*
A
new
blocked
icon
:
pixmaps
/
status
/
default
/
blocked
.
png
*
In
pixmaps
/
status
/
default
:
extendedaway
.
png
renamed
to
extended_away
.
png
*
In
pixmaps
/
status
/
default
:
na
.
png
renamed
to
unavailable
.
png
*
gtk_imhtml_toggle_bold
():
No
longer
returns
a
value
*
gtk_imhtml_toggle_italic
():
No
longer
returns
a
value
*
gtk_imhtml_toggle_underline
():
No
longer
returns
a
value
*
gtk_imhtml_toggle_strike
():
No
longer
returns
a
value
*
gtk_imhtml_scroll_to_end
():
Added
the
smooth
paramter
*
gaim_log_new
(),
added
conv
parameter
*
gaim_buddy_icon_new
(),
leaves
a
reference
which
the
caller
owns
.
Use
gaim_buddy_icon_unref
()
immediately
if
you
don
't want a reference (the
old
behavior
)
.
*
GAIM_CONV_UNKNOWN
to
GAIM_CONV_TYPE_UNKNOWN
.
*
GAIM_CONV_IM
to
GAIM_CONV_TYPE_IM
.
*
GAIM_CONV_CHAT
to
GAIM_CONV_TYPE_CHAT
.
*
GAIM_CONV_MISC
to
GAIM_CONV_TYPE_MISC
.
*
GAIM_CONV_ANY
to
GAIM_CONV_TYPE_ANY
.
*
GaimConversationUiOps
.
write_conv
,
Replaced
const
char
*
who
with
const
char
*
name
,
const
char
*
alias
*
gaim_conv_chat_add_users
(),
added
extra_msgs
and
new_arrivals
(
pass
NULL
and
FALSE
respectively
,
to
get
the
same
behavior
as
before
)
*
chat_add_users
in
GaimConversationUiOps
,
added
cbuddies
and
new_arrivals
and
removed
buddies
.
*
chat_rename_user
in
GaimConversationUiOps
,
added
new_alias
*
gaim_conv_chat_cb_new
(),
added
alias
.
(
pass
NULL
to
get
the
same
behavior
as
before
)
.
*
GaimConversation
.
log
became
GList
*
GaimConversation
.
logs
,
so
that
a
conversation
can
have
multiple
logs
at
once
*
gaim_conv_chat_add_user
,
added
extra_msgs
*
gaim_notify_userinfo
,
removed
primary
and
secondary
parameters
*
GaimNotifyUiOps
.
notify_userinfo
:
removed
title
,
primary
,
and
secondary
parameters
*
Idle
timers
are
now
added
and
removed
in
gtkidle
.
c
in
response
to
the
signed
-
on
and
signed
-
off
signals
*
GaimXfer
->
ops
.
read
,
GaimXfer
->
ops
.
write
,
gaim_xfer_set_read_fnc
(),
gaim_xfer_set_write_fnc
(),
gaim_xfer_read
(),
gaim_xfer_write
():
Changed
ssize_t
to
gssize
*
serv_got_im
,
serv_got_chat_in
,
serv_send_im
and
serv_chat_send
all
use
GaimMessageFlags
instead
of
GaimConvImFlags
/
GaimConvChatFlags
*
All
core
<->
prpl
message
passing
now
uses
html
.
This
was
previously
true
for
receiving
messages
,
it
's now also true for sending them. prpls that
don
't support html need to gaim_unescape_html() the message.
*
Notify
API
:
GCallback
->
GaimNotifyCloseCallback
,
void
*
user_data
->
gpointer
user_data
*
gaim_notify_searchresults_get_rows_count
,
gaim_notify_searchresults_get_columns_count
:
return
type
now
guint
*
gaim_account_notify_added
:
No
longer
checks
if
there
is
a
GaimBuddy
for
the
added
user
,
that
's left up to the prpls. See the
documentation
for
this
function
and
gaim_account_request_add
.
*
gaim_accounts_reorder
:
new_index
is
now
a
gint
instead
of
a
size_t
*
displaying
-
message
signals
:
displaying
-
[
im
|
chat
]
-
msg
and
displayed
-
[
im
|
chat
]
-
msg
signals
are
emitted
for
all
messages
(
ie
,
for
received
messages
,
sent
messages
,
system
messages
,
error
messages
etc
.
),
and
the
signals
now
have
gaim_gtk_conversations_get_handle
()
for
their
handle
.
*
GAIM_NOTIFY_BUTTON_ADD_BUDDY
to
GAIM_NOTIFY_BUTTON_ADD
*
conversation
-
switched
:
This
signal
has
been
moved
from
conversation
to
the
UI
and
the
signal
-
handlers
only
receive
the
conversation
that
has
been
switched
to
.
*
GaimPluginProtocolInfo
:
Added
offline_message
*
GaimPluginProtocolInfo
:
Added
whiteboard_prpl_ops
*
GaimPluginProtocolInfo
:
Added
media_prpl_ops
*
GaimPluginProtocolInfo
:
Added
"user_info"
argument
to
tooltip_text
,
changed
the
return
type
to
void
*
GaimPluginProtocolInfo
:
Added
"full"
argument
to
tooltip_text
*
gaim_pounce_new
():
Added
option
argument
for
pounce
options
*
gaim_network_listen
()
and
gaim_network_listen_range
():
Added
socket_type
parameter
to
allow
creation
of
UDP
listening
.
Modified
to
be
asynchronous
with
a
callback
to
allow
for
UPnP
operation
.
Returns
a
data
structure
that
can
be
used
to
cancel
the
listen
attempt
using
gaim_network_listen_cancel
()
*
GaimPrefCallback
:
val
is
now
a
gconstpointer
instead
of
a
gpointer
*
gtk_imhtml_get_current_format
():
the
arguments
are
now
set
to
TRUE
or
FALSE
.
Previously
they
were
set
to
TRUE
or
left
alone
.
Also
,
you
may
now
pass
NULL
if
you
're not interested in a specific formatting.
*
Smiley
Themes
:
Backslashes
must
be
backslash
-
escaped
.
*
Plugins
:
Depedencies
are
now
honored
when
unloading
plugins
.
*
gaim_markup_extract_info_field
():
Added
format_cb
parameter
.
*
gaim_markup_extract_info_field
():
Changed
GString
parameter
to
a
GaimNotifyUserInfo
paramter
.
*
gaim_str_to_time
():
Added
support
for
parsing
the
MM
/
DD
/
YYYY
format
.
*
gaim_plugin_action_new
():
label
is
now
const
char
*
*
gaim_plugin_pref_new_with_name
():
name
is
now
const
char
*
*
gaim_plugin_pref_new_with_label
():
label
is
now
const
char
*
*
gaim_plugin_pref_new_with_name_and_label
():
name
and
label
are
now
const
char
*
*
gaim_plugin_pref_set_name
():
name
is
now
const
char
*
*
gaim_plugin_pref_get_name
():
return
type
is
now
const
char
*
*
gaim_plugin_pref_set_label
():
label
is
now
const
char
*
*
gaim_plugin_pref_get_label
():
return
type
is
now
const
char
*
*
gaim_plugin_pref_add_choice
():
label
is
now
const
char
*
*
struct
proto_chat_entry
:
label
is
now
const
char
*
*
struct
proto_chat_entry
:
identifier
is
now
const
char
*
*
All
network
activity
has
been
updated
to
use
non
-
blocking
sockets
.
This
means
that
plugins
must
be
updated
to
expect
such
a
socket
from
gaim_proxy_connect
()
and
gaim_network_listen
*
()
.
*
gaim_proxy_connect
():
changed
to
return
NULL
on
error
and
a
pointer
to
a
GaimProxyConnectInfo
object
which
can
be
used
to
cancel
connection
attempts
using
gaim_proxy_connect_cancel
()
.
Also
added
a
'handle'
parameter
that
can
be
used
to
cancel
the
connection
attempt
using
gaim_proxy_connect_cancel_with_handle
()
.
*
gaim_gethostbyname_async
():
Renamed
to
gaim_dnsquery_a
()
and
changed
to
return
a
pointer
to
a
data
structure
that
can
be
used
to
cancel
the
pending
DNS
query
using
gaim_dnsquery_destroy
()
*
gaim_url_fetch
():
Renamed
to
gaim_util_fetch_url
()
and
changed
to
return
a
pointer
to
a
data
structure
that
can
be
used
to
cancel
the
pending
HTTP
request
using
gaim_util_fetch_url_cancel
()
.
Corresponding
callback
has
changed
to
accept
this
data
structure
as
its
first
argument
,
and
to
accept
an
error
message
as
an
additional
final
argument
.
*
gaim_gtk_create_imhtml
():
Added
sw_ret
()
parameter
*
gaim_account_get_log
():
Added
create
parameter
*
GAIM_CMD_P_VERYHIGH
is
now
GAIM_CMD_P_VERY_HIGH
*
gtk_imhtml_search_find
():
Now
wraps
around
to
the
top
instead
of
clearing
the
search
at
the
end
.
*
gaim_gtkxfer_dialog_show
:
Can
now
take
NULL
to
show
(
and
possibly
create
)
a
default
gtkxfer
dialog
.
*
CHAT_USERS_BUDDY_COLUMN
became
CHAT_USERS_WEIGHT_COLUMN
,
along
with
a
change
in
the
values
stored
in
the
column
.
*
gaim_find_buddies
()
returns
a
list
of
all
buddies
in
the
account
if
name
is
NULL
.
*
gaim_gtk_set_custom_buddy_icon
()
sets
custom
icon
for
a
user
.
*
Hid
the
definition
of
_GaimStringref
,
which
already
had
a
warning
to
avoid
accessing
it
directly
.
*
notify_userinfo
()
UI
op
is
passed
a
GaimNotifyUserInfo
instead
of
a
char
*
for
the
user
information
*
gaim_buddy_icon_get_scale_size
()
and
was
changed
to
ALWAYS
scale
the
icon
instead
of
only
when
icon_spec
->
scale_rules
contains
GAIM_ICON_SCALE_DISPLAY
.
Callers
should
be
changed
to
check
the
scale_rules
before
calling
this
function
.
*
gaim_gtk_buddy_icon_get_scale_size
()
was
changed
to
accept
an
additional
parameter
which
is
used
to
determine
what
kind
of
scaling
should
be
done
,
if
any
.
*
purple_request_input
(),
purple_request_choice
(),
purple_request_choice_varg
(),
purple_request_action
(),
purple_request_action_varg
(),
purple_request_fields
(),
purple_request_yes_no
(),
purple_request_ok_cancel
(),
purple_request_accept_cancel
(),
purple_request_file
(),
and
purple_request_folder
()
was
changed
to
accept
account
,
who
,
and
conversation
parameters
for
associating
the
request
with
an
account
,
a
buddy
,
or
a
conversation
.
*
Significant
changes
to
the
buddy
icon
and
imgstore
APIs
.
If
you
were
using
any
of
it
,
it
's best to look at the header files or
Doxygen
documentation
,
but
here
are
some
significant
changes
:
purple_buddy_icon_new
()
now
takes
ownership
of
(
"frees"
)
icon_data
purple_buddy_icon_set_data
():
likewise
for
data
purple_buddy_icon_set_for_user
():
likewise
for
data
purple_buddy_icon_set_for_user
()
now
takes
a
checksum
parameter
purple_imgstore_add
()
was
renamed
to
purple_imgstore_add_with_id
()
which
takes
ownership
of
data
Removed
:
*
gaim_gtk_sound_
{
get
,
set
}
_mute
()
(
replaced
by
the
/
gaim
/
gtk
/
sound
/
mute
preference
)
*
gaim_escape_html
(
const
char
*
html
)
(
use
g_markup_escape_text
(
html
,
-
1
)
instead
)
*
gaim_accounts_sync
,
account
changes
are
now
scheduled
to
be
saved
automatically
*
gaim_connection_connect
*
gaim_connection_disconnect
*
gaim_connection_register
*
gaim_accounts_auto_login
*
gaim_find_conversation
,
use
gaim_find_conversation_with_account
instead
*
gaim_chat_get_display_name
*
gaim_conversation_set_history
,
gaim_conversation_get_history
,
and
GaimConversation
->
history
.
Use
gtk_imhtml_get_markup
instead
.
*
set_gaim_user_dir
to
gaim_util_set_user_dir
*
create_prpl_icon
to
gaim_gtk_create_prpl_icon
*
Window
flashing
support
in
the
core
:
gaim_conv_window_flash
,
and
flash
UI
operation
for
conversations
.
Use
signal
"received-im-msg"
or
similar
.
*
All
warning
stuff
from
the
core
.
*
gaim_gtkconv_get_dest_tab_at_xy
(),
instead
use
gaim_gtkconv_get_tab_at_xy
()
*
chat_add_user
from
GaimConversationUiOps
:
only
chat_add_users
is
used
*
chat_remove_user
from
GaimConversationUiOps
:
only
chat_remove_users
is
used
*
uc
from
the
GaimBuddy
struct
*
gaim_sound_get_handle
()
*
gaim_debug_vargs
()
*
serv_add_buddy
();
use
gaim_account_add_buddy
()
instead
*
serv_add_buddies
();
use
gaim_account_add_buddies
()
instead
*
serv_change_passwd
();
use
gaim_account_change_password
()
instead
*
serv_close
()
*
serv_finish_login
()
*
serv_login
()
*
serv_remove_buddy
();
use
gaim_account_remove_buddy
()
instead
*
serv_remove_buddies
();
use
gaim_account_remove_buddies
()
instead
*
serv_rename_group
()
*
serv_set_buddyicon
():
use
gaim_account_set_buddy_icon
()
instead
*
serv_touch_idle
():
use
gaim_gtk_check_idle
()
instead
*
GaimGtkImPane
->
a_virgin
*
gaim_str_strip_cr
();
use
gaim_str_strip_char
(
str
,
'
\r
'
)
instead
*
gaim_find_buddys_group
renamed
to
gaim_buddy_get_group
*
gaim_gtkpounce_menu_build
()
*
gaim_gtkpounce_dialog_show
()
*
GaimGtkBuddyList
->
bpmenu
*
GaimConvImFlags
and
GaimConvChatFlags
;
use
GaimMessageFlags
instead
*
cb
and
user_data
from
the
ops
in
GaimNotifyUiOps
:
This
is
now
handled
by
the
notify
API
in
the
core
.
*
GaimConversationUiOps
.
updated
:
use
the
conversation
-
updated
signal
*
GAIM_SUBTYPE_CONV_WINDOW
:
windows
are
now
only
represented
in
the
UI
,
so
GAIM_TYPE_BOXED
is
used
for
the
signal
types
*
gaim_gtk_privacy_is_showable
():
We
do
fallback
privacy
in
the
core
now
,
so
this
would
always
be
TRUE
now
.
*
GaimBlistNodeAction
:
See
GaimMenuAction
*
gaim_blist_node_action_new
();
use
gaim_menu_action_new
()
instead
*
gaim_date
()
*
gaim_date_full
():
See
gaim_date_format_full
()
*
gaim_strftime
():
See
gaim_utf8_strftime
()
*
GAIM_MESSAGE_COLORIZE
*
user_data
from
gaim_notify_searchresults_new_rows
and
from
notify_searchresults
in
GaimNotifyUiOps
.
*
gaim_conversation_get_send_history
(),
and
send_history
from
GaimConversation
*
Removed
ui_ops
from
GaimBuddyList
.
Use
gaim_blist_get_ui_ops
()
instead
*
GaimGtkConversation
:
dialogs
(
dialogs
.
search
moved
to
GaimGtkWindow
)
*
gaim_show_xfer_dialog
:
Use
gaim_gtk_xfer_dialog_show
(
NULL
)
instead
.
*
GaimGtkRoomlistDialog
:
Nothing
used
it
outside
of
the
file
it
was
in
.
*
gaim_gtk_roomlist_dialog_new
:
use
gaim_gtk_roomlist_show
*
gaim_gtk_roomlist_dialog_new_with_account
:
use
gaim_gtk_roomlist_show_with_account
*
binreloc
functions
Added
:
*
gaim_prefs_disconnect_by_handle
()
*
a
password
field
to
GaimConnection
,
which
only
persists
for
the
session
(
when
"remember password"
is
false
,
account
->
password
is
NEVER
set
)
Use
gaim_connection_get_password
(
GaimConnection
*
gc
)
*
gaim_log_common_writer
,
gaim_log_common_lister
,
gaim_log_common_sizer
,
and
gaim_log_get_log_dir
to
allow
log
formats
that
use
standard
Gaim
log
directory
to
use
Gaim
's built-in code for these purposes.
*
GaimLogCommonLoggerData
struct
for
a
basic
logger_data
struct
to
be
used
with
"common"
logger
functions
.
*
gaim_gtk_blist_node_is_contact_expanded
,
returns
TRUE
if
the
given
blist
node
is
a
buddy
inside
an
expanded
contact
,
or
is
itself
an
expanded
contact
*
GaimLogSet
struct
,
get_log_sets
function
to
GaimLogLogger
,
gaim_log_get_log_sets
,
gaim_log_set_compare
*
gaim_privacy_check
(),
to
check
if
a
given
user
is
allowed
to
send
messages
to
the
specified
account
*
gtk_imhtml_clear_formatting
()
*
gtk_imhtml_delete
to
clear
out
part
of
a
imhtml
buffer
*
gtk_imhtml_get_protocol_name
()
*
gaim_buddy_icons_get_full_path
(),
to
get
the
full
path
of
a
buddy
icon
setting
*
CHAT_USERS_ALIAS_COLUMN
,
CHAT_USERS_COLOR_COLUMN
,
CHAT_USERS_BUDDY_COLUMN
to
the
list
of
columns
for
the
chat
user
list
*
gaim_account_add_buddy
()
*
gaim_account_add_buddies
()
*
gaim_account_remove_buddy
()
*
gaim_account_remove_buddies
()
*
gaim_account_change_password
()
*
gaim_account_supports_offline_message
()
*
gaim_conversation_close_logs
(),
to
force
a
conversation
's log(s) to
be
closed
.
New
logs
will
be
opened
as
necessary
.
*
gaim_got_protocol_handler_uri
()
*
gaim_plugin_get_id
()
*
gaim_plugin_get_name
()
*
gaim_plugin_get_version
()
*
gaim_plugin_get_summary
()
*
gaim_plugin_get_description
()
*
gaim_plugin_get_author
()
*
gaim_plugin_get_homepage
()
*
gaim_gtkconv_switch_active_conversation
(
GaimConversation
*
)
*
gaim_str_strip_char
()
to
strip
a
given
character
from
a
given
string
*
gaim_util_chrreplace
()
to
replace
a
given
character
with
a
different
character
*
gaim_gtk_blist_toggle_visibility
()
to
intelligently
toggle
the
visiblity
of
the
buddy
list
*
gaim_gtk_blist_visibility_manager_add
()
to
indicate
the
addition
of
a
visibility
manager
-
see
the
docs
for
more
information
*
gaim_gtk_blist_visibility_manager_remove
()
to
indicate
the
removal
of
a
visibility
manager
-
see
the
docs
for
more
information
*
gaim_gtk_conversations_find_unseen_list
()
to
get
a
list
of
conversations
with
an
"unseen"
state
>=
to
the
specified
state
and
other
criteria
*
gaim_gtk_conversations_fill_menu
()
fill
a
menu
from
list
of
conversations
*
gaim_gtk_create_prpl_icon
()
*
gaim_gtk_create_prpl_icon_with_status
()
*
gaim_gtk_pounces_manager_show
()
*
gaim_gtk_pounces_manager_hide
()
*
gaim_gtk_pounce_editor_show
()
*
GAIM_POUNCE_MESSAGE_RECEIVED
*
GaimPounceOption
*
gaim_pounce_set_options
()
*
gaim_pounce_set_options
()
*
GAIM_STOCK_CONNECT
,
GAIM_STOCK_DISCONNECT
*
GAIM_STOCK_PLUGIN
*
gaim_account_request_add
:
Notifies
the
user
that
they
were
added
to
someone
's buddy list, and offers them the choice
of
adding
that
person
to
their
buddy
list
.
*
gaim_blist_alias_contact
()
*
gaim_cipher_http_digest_calculate_session_key
()
*
gaim_cipher_http_digest_calculate_response
()
*
gaim_notify_searchresults_labeled
()
*
GAIM_NOTIFY_BUTTON_LABELED
,
GAIM_NOTIFY_BUTTON_INFO
,
GAIM_NOTIFY_BUTTON_IM
,
GAIM_NOTIFY_BUTTON_JOIN
,
GAIM_NOTIFY_BUTTON_INVITE
*
stock
buttons
GAIM_STOCK_IM
,
GAIM_STOCK_INFO
*
gaim_conversation_present
()
*
GaimConversationUiOps
->
present
(
GaimConversation
*
)
*
GaimPlugin
.
unloadable
*
gaim_plugin_is_unloadable
()
*
GAIM_PLUGIN_PREF_STRING_FORMAT
*
gaim_plugin_pref_get_format_type
()
*
gaim_plugin_pref_set_format_type
()
*
GaimStringFormatType
*
gaim_log_get_handle
()
*
gaim_log_uninit
()
*
GAIM_SUBTYPE_LOG
*
gaim_marshal_POINTER__POINTER_POINTER
*
gaim_utf8_ncr_encode
()
*
gaim_gtk_log_init
()
*
gaim_gtk_log_get_handle
()
*
gaim_gtk_log_uninit
()
*
gaim_util_fetch_url_request
()
*
GaimMenuAction
*
gaim_menu_action_new
()
*
gaim_menu_action_free
()
*
GaimInfoFieldFormatCallback
*
gaim_utf8_strftime
()
*
gaim_date_format_short
()
*
gaim_date_format_long
()
*
gaim_date_format_full
()
*
gaim_time_format
()
*
gaim_plugin_action_free
()
*
GaimRequestType
:
Added
GAIM_REQUEST_FOLDER
*
GaimRequestUiOps
:
Added
request_folder
*
gaim_request_folder
()
*
gaim_gtk_setup_screenname_autocomplete
()
*
gaim_gtk_set_cursor
()
*
gaim_gtk_clear_cursor
()
*
GAIM_MESSAGE_ACTIVE_ONLY
*
gaim_proxy_get_setup
()
*
GaimNotifySearchResultsCallback
:
Added
user_data
.
*
gaim_notify_searchresults
:
Added
user_data
.
*
gaim_network_listen_cancel
():
Can
be
used
to
cancel
a
previous
call
to
gaim_network_listen
()
or
gaim_network_listen_range
()
*
gaim_proxy_connect_cancel
():
Can
be
used
to
cancel
a
pending
gaim_proxy_connect
()
request
*
gaim_proxy_connect_cancel_with_handle
():
Can
be
used
to
cancel
a
previous
gaim_proxy_connect
()
request
using
a
specified
handle
*
gaim_dnsquery_destroy
():
Can
be
used
to
cancel
a
pending
DNS
query
.
*
gaim_util_fetch_url_cancel
():
Can
be
used
to
cancel
a
pending
call
to
gaim_util_fetch_url
()
or
gaim_util_fetch_url_request
()
.
*
GaimGtkWindow
:
dialogs
.
search
(
previously
in
GaimGtkConversation
)
*
gaim_buddy_get_server_alias
()
*
gaim_conv_send_confirm
()
*
GaimConversationUiOps
.
send_confirm
*
gaim_gtk_roomlist_dialog_show_with_account
*
gaim_gtk_tree_view_search_equal_func
to
be
used
with
gtk_tree_view_set_search_equal_func
*
gaim_xfer_set_bytes_sent
()
.
Sets
the
offset
in
the
file
to
read
from
or
write
to
.
*
gaim_privacy_deny
and
gaim_privacy_allow
*
gaim_gtk_blist_set_headline
*
gaim_gtk_set_urgent
*
GtkGaimScrollBook
and
its
functions
.
*
purple_markup_unescape_entity
()
*
purple_markup_get_css_property
()
*
purple_group_get_name
()
Signals
-
Changed
:
(
See
the
Doxygen
docs
for
details
on
all
signals
.
)
*
Signal
propagation
now
stops
after
a
handler
returns
a
non
-
NULL
value
.
This
value
is
now
returned
.
Previously
,
all
registered
handlers
were
called
and
the
value
from
the
last
handler
was
used
.
*
"buddy-typing"
and
"buddy-typing-stopped"
:
replaced
the
GaimConversation
*
with
GaimAccount
*
,
const
char
*
name
.
Also
,
the
signal
is
now
emitted
regardless
of
whether
a
conversation
exists
and
regardless
of
whether
the
user
is
on
the
buddy
list
.
*
"chat-buddy-joined"
:
added
the
new_arrival
argument
*
"chat-invited"
handlers
can
now
return
a
value
to
control
what
happens
to
the
invite
(
accept
,
reject
,
prompt
the
user
)
.
*
"chat-left"
:
Emitted
*
after
*
setting
chat
->
left
to
TRUE
.
*
"drawing-tooltip"
:
the
second
argument
is
now
a
GString
*
instead
of
a
char
**
*
"drawing-tooltip"
:
added
the
"full"
argument
*
"received-im-msg"
and
"received-chat-msg"
to
match
,
both
now
pass
a
conversation
pointer
and
flags
*
"receiving-im-msg"
and
"receving-chat-msg"
to
match
,
both
now
pass
a
conversation
pointer
and
a
pointer
to
the
flags
.
*
"writing-im-msg"
,
"wrote-im-msg"
,
"writing-chat-msg"
,
"wrote-chat-msg"
:
Now
emitted
from
a
difference
place
in
the
message
handling
code
.
The
arguments
also
changed
.
*
"displaying-im-msg"
,
"displayed-im-msg"
,
"displaying-chat-msg"
,
"displayed-chat-msg"
:
Added
"who"
argument
,
which
changes
the
order
of
the
existing
arguments
.
Signals
-
Added
:
(
See
the
Doxygen
docs
for
details
on
all
signals
.
)
*
"account-disabled"
*
"account-status-changed"
*
"account-alias-changed"
*
"cipher-added"
*
"cipher-removed"
*
"conversation-dragging"
*
"dbus-method-called"
*
"dbus-introspect"
*
"file-recv-accept"
*
"file-recv-start"
*
"file-recv-cancel"
*
"file-recv-complete"
*
"file-recv-request"
*
"file-send-accept"
*
"file-send-start"
*
"file-send-cancel"
*
"file-send-complete"
*
"buddy-added"
*
"buddy-removed"
*
"blist-node-aliased"
*
"buddy-status-changed"
*
"buddy-idle-changed"
:
A
buddy
's idle status changed.
*
"buddy-icon-changed"
*
"buddy-got-login-time"
:
The
login
time
for
a
buddy
is
now
known
*
"displaying-userinfo"
*
"gtkblist-hiding"
*
"gtkblist-unhiding"
*
"log-displaying"
*
"network-configuration-changed"
*
"savedstatus-changed"
*
"sendto-extended-menu"
*
"uri-handler"
Signals
-
Removed
:
*
"account-away"
:
replaced
by
account
-
status
-
changed
*
"account-warned"
*
"buddy-away"
:
replaced
by
buddy
-
status
-
changed
*
"buddy-back"
:
replaced
by
buddy
-
status
-
changed
*
"buddy-idle"
:
replaced
by
buddy
-
idle
-
changed
*
"buddy-unidle"
:
replaced
by
buddy
-
idle
-
changed
*
"buddy-icon-cached"
:
replaced
by
buddy
-
icon
-
changed
*
"conversation-drag-end"
:
replaced
by
conversation
-
dragging
*
"conversation-switching"
version
1.5
.
0
(
8
/
11
/
2005
):
*
Added
:
gaim_xfer_conversation_write
Writes
a
messages
to
a
conversation
window
with
the
use
of
the
associated
file
transfer
.
version
1.4
.
0
(
7
/
7
/
2005
):
*
Added
:
gaim_buddy_icon_uncache
()
Deletes
a
cached
buddy
icon
for
a
specified
buddy
*
Added
:
gaim_buddy_icon_get_type
Attempts
to
determine
the
type
of
a
given
buddy
icon
.
*
Added
:
buddy
-
icon
-
cached
signal
Emitted
when
a
new
buddy
icon
is
cached
.
version
1.3
.
1
(
6
/
9
/
2005
):
*
No
changes
version
1.3
.
0
(
5
/
10
/
2005
):
*
Added
:
gaim_blist_schedule_save
()
This
should
be
used
instead
of
gaim_blist_sync
when
you
want
the
blist
.
xml
file
to
be
written
to
disk
.
There
should
not
be
many
occasions
when
you
want
to
do
this
,
as
the
functions
in
the
blist
API
that
modify
the
buddy
list
will
normally
call
it
for
you
.
*
Added
:
OPT_PROTO_NO_NORMALIZE_CONV
Tells
the
conversation
API
to
not
normalize
screen
names
in
conversations
.
This
is
used
by
the
Jabber
PRPL
.
version
1.2
.
1
(
4
/
3
/
2005
):
*
No
changes
version
1.2
.
0
(
3
/
17
/
2005
):
*
You
can
use
gaim_signal_connect_priority
()
and
gaim_signal_connect_priority_vargs
()
to
connect
to
Gaim
signals
with
a
given
priority
(
Will
Gorman
)
*
Added
:
gaim_conversation_set_features
gaim_conversation_get_features
These
allow
plugins
(
notable
prpls
)
to
change
the
formatting
capabilities
of
an
existing
conversation
.
This
comes
with
a
new
"features"
field
in
GaimConversation
(
Christopher
O
'Brien)
*
Added
:
GAIM_CONNECTION_NO_IMAGES
to
GaimConectionFlags
(
Christopher
O
'Brien)
*
Added
:
GAIM_CBFLAGS_TYPING
to
GaimConvChatBuddyFlags
(
Christopher
O
'Brien)
*
Added
:
gaim_account_request_add
which
takes
the
same
arguments
as
*
gaim_account_notify_added
but
always
asks
the
user
if
they
want
to
add
*
the
buddy
to
the
buddy
list
*
Added
:
An
accompanying
request_add
GaimAccountUiOp
version
1.1
.
4
(
2
/
24
/
2005
):
*
No
changes
version
1.1
.
3
(
2
/
17
/
2005
):
*
No
changes
version
1.1
.
2
(
1
/
20
/
2005
):
*
No
changes
version
1.1
.
1
(
12
/
28
/
2004
):
*
No
changes
version
1.1
.
0
(
12
/
02
/
2004
):
*
Added
:
gaim_utf8_salvage
*
Added
:
binary
relocation
support
in
prefix
.
h
WARNING
:
If
your
plugin
uses
anything
inside
the
#ifdef ENABLE_BINRELOC from prefix.h, it won't be
loadable
on
a
copy
of
Gaim
compiled
without
binreloc
support
.
In
particular
,
watch
out
for
the
autoconf
-
like
macros
,
and
accidently
including
them
through
internal
.
h
,
which
you
probably
shouldn
't be including anyway.
version
1.0
.
0
(
09
/
17
/
2004
):
*
Added
:
get_chat_name
to
the
GaimPluginProtocolInfo
struct
*
Changed
:
gaim_blist_update_buddy_presence
(),
presence
changed
to
type
gboolean
*
Changed
:
the
versioning
scheme
,
and
all
the
plugin
structs
version
0.82
(
08
/
26
/
2004
):
Gaim
API
:
*
Removed
:
gaim_gtk_get_dispstyle
(),
gaim_gtk_change_text
()
*
Removed
:
multi
.
h
*
Renamed
:
ui
.
h
to
gtkdialogs
.
h
*
Renamed
:
gtkinternal
.
h
to
gtkgaim
.
h
*
Renamed
:
show_info_dialog
to
gaim_gtkdialogs_info
*
Renamed
:
show_log_dialog
to
gaim_gtkdialogs_log
*
Renamed
:
show_warn_dialog
to
gaim_gtkdialogs_warn
*
Renamed
:
show_im_dialog
to
gaim_gtkdialogs_im
*
Renamed
:
gaim_gtkdialogs_new_im
to
gaim_gtkdialogs_im_with_user
*
Renamed
:
destroy_all_dialogs
to
gaim_gtkdialogs_destroy_all
*
Renamed
:
alias_dialog_bud
to
gaim_gtkdialogs_alias_buddy
*
Renamed
:
alias_dialog_contact
to
gaim_gtkdialogs_alias_contact
*
Renamed
:
alias_dialog_blist_chat
to
gaim_gtkdialogs_alias_chat
*
Renamed
:
show_confirm_del
to
gaim_gtkdialogs_remove_buddy
*
Renamed
:
show_confirm_del_group
to
gaim_gtkdialogs_remove_group
*
Renamed
:
show_confirm_del_blist_chat
to
gaim_gtkdialogs_remove_chat
*
Renamed
:
show_confirm_del_contact
to
gaim_gtkdialogs_remove_contact
*
Renamed
:
show_about
to
gaim_gtkdialogs_about
*
Added
:
gaim_notify_userinfo
()
and
the
associated
notify_userinfo
()
UI
op
which
pass
account
and
contact
information
associated
with
the
userinfo
Buddy
List
API
:
*
Changed
:
gaim_blist_request_add_chat
(),
added
name
parameter
*
Added
:
gaim_contact_on_account
()
*
Added
:
flags
parameter
to
the
GaimBlistNode
struct
Conversation
API
:
*
Added
:
gaim_gtkconv_button_new
()
Protocol
Plugin
API
:
v7
*
Added
:
chat_info_defaults
to
the
GaimPluginProtocolInfo
struct
Signals
:
*
Added
:
conversation
-
updated
for
any
update
to
the
data
associated
with
the
conversation
(
topic
,
icon
,
adding
to
buddy
list
,
etc
.
)
Conversation
API
:
*
Changed
:
gaim_conv_chat_add_user
()
(
added
new_arrival
parameter
)
version
0.81
(
08
/
05
/
2004
):
Commands
API
:
*
Most
functions
now
have
a
void
*
data
argument
.
Blist
API
:
*
Added
:
gaim_buddy_get_contact_alias
*
Renamed
:
gaim_get_buddy_alias
to
gaim_buddy_get_alias
*
Renamed
:
gaim_get_buddy_alias_only
to
gaim_buddy_get_alias_only
Conversation
API
:
*
Changed
:
gaim_conv_chat_add_user
(),
added
flags
parameter
*
Changed
:
gaim_conv_chat_add_users
(),
added
GList
of
flags
parameter
*
Changed
:
gaim_conv_chat_get_users
(),
now
returns
a
GList
of
GaimConvChatBuddy
's
*
Changed
:
gaim_conv_chat_set_users
()
now
expects
a
GList
of
GaimConvChatBuddy
's
*
Added
:
gaim_conv_chat_set_user_flags
()
*
Added
:
gaim_conv_chat_get_user_flags
()
*
Added
:
gaim_conv_chat_find_user
()
*
Added
:
gaim_conv_chat_cb_new
()
*
Added
:
gaim_conv_chat_cb_find
()
*
Added
:
gaim_conv_chat_cb_destroy
()
*
Added
:
gaim_conv_chat_cb_get_name
()
Conversation
UI
ops
:
*
Added
:
chat_update_user
()
Signals
:
*
Changed
:
chat
-
buddy
-
joining
&
chat
-
buddy
-
joined
now
include
the
user
's flags
*
Changed
:
chat
-
buddy
-
joining
&
chat
-
buddy
-
leaving
are
now
booleans
,
return
TRUE
if
you
don
't want the join/leave to be displayed in the UI.
*
Added
:
chat
-
buddy
-
flags
for
when
user
's flags change
gaim_marshal_VOID__POINTER_POINTER_POINTER_UINT_UINT
(
required
for
the
new
chat
-
buddy
-
flags
signal
)
*
Added
:
account
-
modified
for
when
account
settings
have
been
changed
.
version
0.80
(
07
/
15
/
2004
):
Gaim
API
:
*
Removed
:
PRPL
numbers
:
gaim_account_set_protocol
(),
gaim_account_get_protocol
(),
gaim_accounts_find_with_prpl_num
,
gaim_prpl_num_to_id
(),
gaim_prpl_id_to_num
(),
GaimProtocol
Protocol
Plugin
API
:
v6
*
Added
:
can_receive_file
&
send_file
to
the
GaimPluginProtocolInfo
struct
Signals
:
*
Changed
"chat-invited"
to
also
include
the
components
hash
table
so
plugins
can
use
serv_join_chat
when
the
signal
is
emitted
.
*
Added
"chat-topic-changed"
signal
plugins
know
when
a
topic
is
changed
.
version
0.79
(
06
/
24
/
2004
):
Gaim
API
:
*
gaim_url_parse
()
now
takes
two
additional
parameters
,
which
are
used
for
returning
the
username
and
password
from
the
URL
,
if
they
exist
.
*
Added
:
has_focus
UI
op
to
GaimConversationUiOps
and
GaimConvWindowUiOps
.
*
Added
:
gaim_conversation_has_focus
()
and
gaim_conv_window_has_focus
()
.
*
Removed
:
gaim_blist_save
()
Protocol
Plugin
API
:
v5
*
Changed
:
add_buddy
,
add_buddies
,
remove_buddy
,
remove_buddies
,
rename_group
and
remove_group
to
take
GaimBuddy
's and
GaimGroup
's consistently.
*
Removed
:
OPT_PROTO_BUDDY_ICON
(
replaced
by
icon_spec
)
*
Added
:
icon_spec
to
the
GaimPluginProtocolInfo
struct
version
0.78
(
05
/
30
/
2004
):
Plugin
API
:
v4
*
Added
:
actions
-
for
plugins
to
add
to
the
new
Plugin
Actions
menu
Loader
Plugin
API
:
v2
(
no
changes
)
Protocol
Plugin
API
:
v4
*
Removed
:
set_dir
,
get_dir
and
dir_search
(
not
used
,
AIM
-
centric
)
*
Removed
:
actions
(
replaced
by
generic
plugin
actions
)
Perl
Plugin
API
:
v2
(
no
changes
)
TCL
Plugin
API
:
(
no
changes
)
Signals
:
*
Added
:
"blist-node-extended-menu"
for
extending
Buddy
,
Chat
and
Group
right
-
click
menus
*
Added
:
"drawing-tooltip"
for
plugins
to
allow
plugins
to
change
text
appearing
in
tooltips
*
Added
:
"gtkblist-created"
*
Added
:
"receiving-im-msg"
and
"receiving-chat-msg"
(
these
behave
exactly
like
received
-*-
msg
used
to
)
*
Added
:
"buddy-idle-updated"
signal
,
for
when
the
idle
time
changes
.
*
Changed
:
"received-im-msg"
and
"received-chat-msg"
no
longer
pass
pointers
to
who
,
message
and
flags
,
and
are
now
void
.
*
Removed
:
"drawing-menu"
-
it
was
UI
sepecific
and
"blist-node-extended-menu"
is
superior
version
0.77
(
04
/
22
/
2004
):
Loader
&
Protocol
Plugins
independantly
versioned
Plugin
loading
now
checks
versioning
on
plugins
(
Standard
,
Loader
&
Protocol
)
new
GAIM_
{
PLUGIN
,
PRPL
,
LOADER
}
_API_VERSION
constants
Plugin
API
:
v3
*
Added
:
prefs_info
for
UI
independant
plugin
prefs
Loader
Plugin
API
:
v2
*
Added
:
api_version
at
top
of
GaimPluginLoaderInfo
struct
Protocol
Plugin
API
:
v2
*
Added
:
api_version
at
top
of
GaimPluginProtocolInfo
struct
*
Added
:
chat_menu
for
protocol
specific
extensions
to
the
chat
menu
*
Removed
:
get_away
"Nada used it. Pink elephants on parade."
*
Removed
:
protocol_prefs
(
replaced
by
generic
plugin
prefs_info
)
Perl
Plugin
API
:
v2
(
no
changes
)
TCL
API
:
(
no
changes
)
Signals
:
*
Added
:
"conversation-drag-ended"
version
0.76
(
04
/
01
/
2004
):
Plugin
API
:
v2
Perl
Plugin
API
:
v2
Loader
Plugin
API
:
(
not
versioned
)
Protocol
Plugin
API
:
(
not
versioned
)
*
Added
:
protocol_prefs
for
protocol
specific
preferences
*
Added
:
reject_chat
so
protocols
can
act
on
chat
invite
rejection
TCL
Plugin
API
:
(
not
versioned
)
*
Changes
to
plugin
registration
to
show
descriptions