NIM PC Cross Platform SDK
nim_talk.h File Reference

P2P和群组聊天 接口头文件 More...

#include "nim_nos_def.h"
#include "nim_session_def.h"
#include "nim_talk_def.h"

Go to the source code of this file.

Functions

NIM_SDK_DLL_API void nim_talk_send_msg (const char *json_msg, const char *json_extension, nim_nos_upload_prg_cb_func prg_cb, const void *prg_user_data)
 
NIM_SDK_DLL_API void nim_talk_stop_send_msg (const char *json_msg, const char *json_extension)
 
NIM_SDK_DLL_API void nim_talk_reg_ack_cb (const char *json_extension, nim_talk_ack_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_talk_reg_receive_cb (const char *json_extension, nim_talk_receive_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_talk_reg_receive_msgs_cb (const char *json_extension, nim_talk_receive_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_talk_reg_notification_filter_cb (const char *json_extension, nim_talk_team_notification_filter_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_talk_reg_message_filter_cb (const char *json_extension, nim_talk_message_filter_func cb, const void *user_data)
 
NIM_SDK_DLL_API char * nim_talk_create_retweet_msg (const char *src_msg_json, const char *client_msg_id, enum NIMSessionType retweet_to_session_type, const char *retweet_to_session_id, const char *msg_setting, int64_t timetag)
 
NIM_SDK_DLL_API void nim_talk_recall_msg (const char *json_msg, const char *notify, const char *json_extension, nim_talk_recall_msg_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_talk_recall_msg2 (const char *json_msg, const char *notify, const char *apnstext, const char *pushpayload, const char *json_extension, nim_talk_recall_msg_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_talk_recall_msg_ex (const char *json_msg, const char *notify, nim_talk_recall_msg_func cb, nim_talk_recall_extra_params &extra_params, const void *user_data)
 
NIM_SDK_DLL_API void nim_talk_reg_recall_msg_cb (const char *json_extension, nim_talk_recall_msg_func cb, const void *user_data)
 
NIM_SDK_DLL_API char * nim_talk_get_attachment_path_from_msg (const char *json_msg)
 
NIM_SDK_DLL_API void nim_talk_reg_receive_broadcast_cb (const char *json_extension, nim_talk_receive_broadcast_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_talk_reg_receive_broadcast_msgs_cb (const char *json_extension, nim_talk_receive_broadcast_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_talk_reply_msg (const char *json_msg, const char *json_reply_msg, const char *json_extension, nim_nos_upload_prg_cb_func prg_cb, const void *prg_user_data)
 

Detailed Description

P2P和群组聊天 接口头文件

Author
Oleg
Date
2015/2/1

Function Documentation

◆ nim_talk_create_retweet_msg()

char * nim_talk_create_retweet_msg ( const char *  src_msg_json,
const char *  client_msg_id,
enum NIMSessionType  retweet_to_session_type,
const char *  retweet_to_session_id,
const char *  msg_setting,
int64_t  timetag 
)

由其他消息生成转发消息

Parameters
[in]src_msg_json原消息json
[in]client_msg_id新的客户端消息id,建议uuid
[in]retweet_to_session_type转发目标会话类型 NIMSessionType
[in]retweet_to_session_id转发目标ID
[in]msg_setting消息属性设置
[in]timetag消息时间
Returns
char * 位置消息Json字符串,需要上层调用nim_global.h提供的内存释放接口释放。

◆ nim_talk_get_attachment_path_from_msg()

char * nim_talk_get_attachment_path_from_msg ( const char *  json_msg)

从消息的json字符串中获取附件(图片、语音、视频等)的本地路径

Parameters
[in]json_msg消息体Json string (Keys SEE MORE nim_talk_def.h 『消息结构 Json Keys』)
Returns
char * 消息如果有附件,不管是否已下载,返回附件的本地路径;消息如果没有附件,返回空字符串""。

◆ nim_talk_recall_msg()

void nim_talk_recall_msg ( const char *  json_msg,
const char *  notify,
const char *  json_extension,
nim_talk_recall_msg_func  cb,
const void *  user_data 
)

撤回消息

Parameters
[in]json_msg消息体Json string (Keys SEE MORE nim_talk_def.h 『消息结构 Json Keys』)
[in]notify自定义通知
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cbnim_talk_recall_msg_func回调函数定义见nim_talk_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功 414:参数错误 508:撤回时间超过配制有效期,默认是2分钟 10414:本地错误码,参数错误 10508:本地错误码,超过配置有效期或者所需参数不存在

◆ nim_talk_recall_msg2()

void nim_talk_recall_msg2 ( const char *  json_msg,
const char *  notify,
const char *  apnstext,
const char *  pushpayload,
const char *  json_extension,
nim_talk_recall_msg_func  cb,
const void *  user_data 
)

撤回消息

Parameters
[in]json_msg消息体Json string (Keys SEE MORE nim_talk_def.h 『消息结构 Json Keys』)
[in]notify自定义通知
[in]apnstext透传消息推送文本,不填则不推送
[in]pushpayload第三方自定义的推送属性,限制json,长度2048
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cbnim_talk_recall_msg_func回调函数定义见nim_talk_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功 414:参数错误 508:撤回时间超过配制有效期,默认是2分钟 10414:本地错误码,参数错误 10508:本地错误码,超过配置有效期或者所需参数不存在

◆ nim_talk_recall_msg_ex()

void nim_talk_recall_msg_ex ( const char *  json_msg,
const char *  notify,
nim_talk_recall_msg_func  cb,
nim_talk_recall_extra_params extra_params,
const void *  user_data 
)

撤回消息

Parameters
[in]json_msg消息体Json string (Keys SEE MORE nim_talk_def.h 『消息结构 Json Keys』)
[in]notify自定义通知
[in]cbnim_talk_recall_msg_func回调函数定义见nim_talk_def.h
[in]extra_params额外参数,使用结构体便于以后扩展,包括:apnstext、pushpayload、json_extension、env_config、user_data
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功 414:参数错误 508:撤回时间超过配制有效期,默认是2分钟 10414:本地错误码,参数错误 10508:本地错误码,超过配置有效期或者所需参数不存在

◆ nim_talk_reg_ack_cb()

void nim_talk_reg_ack_cb ( const char *  json_extension,
nim_talk_ack_cb_func  cb,
const void *  user_data 
)

(全局回调)注册发送消息结果回调函数 (必须全局注册,统一接受回调后分发消息到具体的会话。注意:客户端发包之后,服务器不一定会返回!)

Parameters
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb发送消息的回调函数, nim_talk_ack_cb_func回调函数定义见nim_talk_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功 408:请求过程超时 414:参数错误 802:没有权限(群错误码) 811:强推列表中帐号数量超限(群错误码) 812:群禁言(群错误码) 10200:发送文件消息,NOS上传暂停 10404:本地资源不存在 10414:本地错误码,参数错误 10502:发送消息,上传NOS失败

◆ nim_talk_reg_message_filter_cb()

void nim_talk_reg_message_filter_cb ( const char *  json_extension,
nim_talk_message_filter_func  cb,
const void *  user_data 
)

(全局回调)注册消息是否需要过滤的回调

Parameters
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cbnim_talk_message_filter_func回调函数定义见nim_talk_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值

◆ nim_talk_reg_notification_filter_cb()

void nim_talk_reg_notification_filter_cb ( const char *  json_extension,
nim_talk_team_notification_filter_func  cb,
const void *  user_data 
)

(全局回调)注册接收群通知是否需要过滤的回调

Parameters
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cbnim_talk_team_notification_filter_func回调函数定义见nim_talk_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值

◆ nim_talk_reg_recall_msg_cb()

void nim_talk_reg_recall_msg_cb ( const char *  json_extension,
nim_talk_recall_msg_func  cb,
const void *  user_data 
)

(全局回调)注册接收消息撤回通知的回调

Parameters
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cbnim_talk_recall_msg_func回调函数定义见nim_talk_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功

◆ nim_talk_reg_receive_broadcast_cb()

void nim_talk_reg_receive_broadcast_cb ( const char *  json_extension,
nim_talk_receive_broadcast_cb_func  cb,
const void *  user_data 
)

(全局回调)注册接收广播消息回调 (建议全局注册,统一接受回调后分发消息到具体的会话)

Parameters
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb接收消息的回调函数, nim_talk_receive_broadcast_cb_func回调函数定义见nim_talk_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功 10414:本地错误码,参数错误 10417:本地错误码,对象已经存在/重复操作

◆ nim_talk_reg_receive_broadcast_msgs_cb()

void nim_talk_reg_receive_broadcast_msgs_cb ( const char *  json_extension,
nim_talk_receive_broadcast_cb_func  cb,
const void *  user_data 
)

注册接收批量广播消息回调 (如果在注册了接收消息回调的同时也注册了该批量接口,当有批量消息时,会改走这个接口通知应用层,例如登录后接收到的离线消息等)

Parameters
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb接收消息的回调函数, nim_talk_receive_broadcast_cb_func回调函数定义见nim_talk_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功

◆ nim_talk_reg_receive_cb()

void nim_talk_reg_receive_cb ( const char *  json_extension,
nim_talk_receive_cb_func  cb,
const void *  user_data 
)

(全局回调)注册接收消息回调 (建议全局注册,统一接受回调后分发消息到具体的会话)

Parameters
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb接收消息的回调函数, nim_talk_receive_cb_func回调函数定义见nim_talk_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功 10414:本地错误码,参数错误 10417:本地错误码,对象已经存在/重复操作

◆ nim_talk_reg_receive_msgs_cb()

void nim_talk_reg_receive_msgs_cb ( const char *  json_extension,
nim_talk_receive_cb_func  cb,
const void *  user_data 
)

注册接收批量消息(一个会话为单位)回调 (如果在注册了接收消息回调的同时也注册了该批量接口,当有批量消息时,会改走这个接口通知应用层,例如登录后接收到的离线消息等)

Parameters
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb接收消息的回调函数, nim_talk_receive_cb_func回调函数定义见nim_talk_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功

◆ nim_talk_reply_msg()

void nim_talk_reply_msg ( const char *  json_msg,
const char *  json_reply_msg,
const char *  json_extension,
nim_nos_upload_prg_cb_func  prg_cb,
const void *  prg_user_data 
)

回复消息

Parameters
[in]json_msg被回复消息的消息体Json string (Keys SEE MORE nim_talk_def.h 『消息结构 Json Keys』)
[in]json_reply_msg回复消息的消息体Json string (Keys SEE MORE nim_talk_def.h 『消息结构 Json Keys』)
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]prg_cb上传进度的回调函数, 如果发送的消息里包含了文件资源,则通过此回调函数通知上传进度, nim_sysmsg_receive_cb_func回调函数定义见nim_nos_def.h
[in]prg_user_dataAPP的自定义用户数据,SDK只负责传回给回调函数prg_cb,不做任何处理!
Returns
void 无返回值

◆ nim_talk_send_msg()

void nim_talk_send_msg ( const char *  json_msg,
const char *  json_extension,
nim_nos_upload_prg_cb_func  prg_cb,
const void *  prg_user_data 
)

发送消息

Parameters
[in]json_msg消息体Json string (Keys SEE MORE nim_talk_def.h 『消息结构 Json Keys』)
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]prg_cb上传进度的回调函数, 如果发送的消息里包含了文件资源,则通过此回调函数通知上传进度, nim_sysmsg_receive_cb_func回调函数定义见nim_nos_def.h
[in]prg_user_dataAPP的自定义用户数据,SDK只负责传回给回调函数prg_cb,不做任何处理!
Returns
void 无返回值

◆ nim_talk_stop_send_msg()

void nim_talk_stop_send_msg ( const char *  json_msg,
const char *  json_extension 
)

停止正在发送中的消息(目前只支持发送文件消息时的终止)

Parameters
[in]json_msg消息体Json string (Keys SEE MORE nim_talk_def.h 『消息结构 Json Keys』)
[in]json_extensionjson扩展参数(备用,目前不需要)
Returns
void 无返回值