diff options
| author | Eion Robb <eion@robbmob.com> | 2016-09-25 03:53:52 +1300 | 
|---|---|---|
| committer | dx <dx@dxzone.com.ar> | 2016-09-24 11:53:52 -0300 | 
| commit | 524e931bb1a61dd7efa44faeb050e41bfc231610 (patch) | |
| tree | 3b5bc4edd51823530f571115731274fcb5654e1b | |
| parent | ad541494dc84e51b0f432dc2081653532b245939 (diff) | |
purple: support setting chat room topics (#84)
| -rw-r--r-- | protocols/purple/purple.c | 16 | 
1 files changed, 16 insertions, 0 deletions
| diff --git a/protocols/purple/purple.c b/protocols/purple/purple.c index 63f6cb8f..6c8ddf0d 100644 --- a/protocols/purple/purple.c +++ b/protocols/purple/purple.c @@ -683,6 +683,21 @@ void purple_chat_invite(struct groupchat *gc, char *who, char *message)  	                 who);  } +void purple_chat_set_topic(struct groupchat *gc, char *topic) +{ +	PurpleConversation *pc = gc->data; +	PurpleConvChat *pcc = PURPLE_CONV_CHAT(pc); +	struct purple_data *pd = gc->ic->proto_data; +	PurplePlugin *prpl = purple_plugins_find_with_id(pd->account->protocol_id); +	PurplePluginProtocolInfo *pi = prpl->info->extra_info; + +	if (pi->set_chat_topic) { +		pi->set_chat_topic(purple_account_get_connection(pd->account), +		                   purple_conv_chat_get_id(pcc), +		                   topic); +	} +} +  void purple_chat_kick(struct groupchat *gc, char *who, const char *message)  {  	PurpleConversation *pc = gc->data; @@ -1651,6 +1666,7 @@ void purple_initmodule()  	funcs.chat_msg = purple_chat_msg;  	funcs.chat_with = purple_chat_with;  	funcs.chat_invite = purple_chat_invite; +	funcs.chat_topic = purple_chat_set_topic;  	funcs.chat_kick = purple_chat_kick;  	funcs.chat_leave = purple_chat_leave;  	funcs.chat_join = purple_chat_join; | 
