floo::BMXRosterService
好友Service
#include <bmx_roster_service.h>
Public Types
Name | |
---|---|
enum class | ApplicationStatus { Pending, Accepted, Declined} 请求状态 |
typedef std::shared_ptr< [Application] > | ApplicationPtr |
typedef std::vector< ApplicationPtr > | ApplicationList |
typedef BMXResultPage< ApplicationPtr > | BMXRosterApplicationResultPage |
typedef std::shared_ptr< BMXRosterApplicationResultPage > | BMXRosterApplicationResultPagePtr |
typedef std::function< void(int percent)> | Callback |
Public Functions
Name | |
---|---|
virtual | ~BMXRosterService() |
virtual BMXErrorCode | get(std::vector< int64_t > & list, bool forceRefresh) =0 获取好友列表,如果forceRefresh == true,则强制从服务端拉取 |
virtual BMXErrorCode | fetchRosterById(int64_t rosterId, bool forceRefresh, BMXRosterItemPtr & item) =0 通过联系人id搜索用户 |
virtual BMXErrorCode | search(int64_t rosterId, bool forceRefresh, BMXRosterItemPtr & item) =0 Deprecated. |
virtual BMXErrorCode | fetchRosterByName(const std::string & name, bool forceRefresh, BMXRosterItemPtr & item) =0 通过用户名搜索用户 |
virtual BMXErrorCode | search(const std::string & name, bool forceRefresh, BMXRosterItemPtr & item) =0 Deprecated. |
virtual BMXErrorCode | fetchRostersByIdList(const std::vector< int64_t > & rosterIdList, BMXRosterList & list, bool forceRefresh) =0 通过联系人id列表批量搜索用户 |
virtual BMXErrorCode | search(const std::vector< int64_t > & rosterIdList, BMXRosterList & list, bool forceRefresh) =0 Deprecated. |
virtual BMXErrorCode | setItemLocalExtension(BMXRosterItemPtr item, const JSON & extension) =0 更新好友本地扩展信息 |
virtual BMXErrorCode | setItemExtension(BMXRosterItemPtr item, const JSON & extension) =0 更新好友服务器扩展信息 |
virtual BMXErrorCode | setItemAlias(BMXRosterItemPtr item, const JSON & alias) =0 更新好友别名 |
virtual BMXErrorCode | setItemMuteNotification(BMXRosterItemPtr item, bool status) =0 设置是否拒收用户消息 |
virtual BMXErrorCode | getApplicationList(BMXRosterApplicationResultPagePtr & result, const std::string & cursor, int pageSize =10) =0 获取申请添加好友列表 |
virtual BMXErrorCode | apply(int64_t rosterId, const std::string & message, const std::string & authAnswer ="") =0 申请添加好友 |
virtual BMXErrorCode | remove(int64_t rosterId) =0 删除好友 |
virtual BMXErrorCode | accept(int64_t rosterId) =0 接受加好友申请 |
virtual BMXErrorCode | decline(int64_t rosterId, const std::string & reason) =0 拒绝加好友申请 |
virtual BMXErrorCode | block(int64_t rosterId) =0 加入黑名单 |
virtual BMXErrorCode | unblock(int64_t rosterId) =0 从黑名单移除 |
virtual BMXErrorCode | getBlockList(std::vector< int64_t > & list, bool forceRefresh) =0 获取黑名单,如果forceRefresh == true,则强制从服务端拉取 |
virtual BMXErrorCode | downloadAvatar(BMXRosterItemPtr item, bool thumbnail, Callback callback) =0 下载头像 |
virtual void | addRosterListener(BMXRosterServiceListener * listener) =0 添加好友变化监听者 |
virtual void | removeRosterListener(BMXRosterServiceListener * listener) =0 移除好友变化监听者 |
Protected Functions
Name | |
---|---|
BMXRosterService() |
Public Types Documentation
enum ApplicationStatus
Enumerator | Value | Description |
---|---|---|
Pending | 请求待处理 | |
Accepted | 请求已接受 | |
Declined | 请求已拒绝 |
请求状态
typedef ApplicationPtr
typedef std::shared_ptr<Application> floo::BMXRosterService::ApplicationPtr;
typedef ApplicationList
typedef std::vector<ApplicationPtr> floo::BMXRosterService::ApplicationList;
typedef BMXRosterApplicationResultPage
typedef BMXResultPage<ApplicationPtr> floo::BMXRosterService::BMXRosterApplicationResultPage;
typedef BMXRosterApplicationResultPagePtr
typedef std::shared_ptr<BMXRosterApplicationResultPage> floo::BMXRosterService::BMXRosterApplicationResultPagePtr;
typedef Callback
typedef std::function<void(int percent)> floo::BMXRosterService::Callback;
Public Functions Documentation
function ~BMXRosterService
inline virtual ~BMXRosterService()
Example:
function get
virtual BMXErrorCode get(
std::vector< int64_t > & list,
bool forceRefresh
) =0
获取好友列表,如果forceRefresh == true,则强制从服务端拉取
Parameters:
- list 好友id列表,传入空列表函数返回后从此处获取返回的好友id列表
- forceRefresh 是否从服务器读取数据,true为强制从服务器获取,false情况下本地读取列表为空的情况下会自动从服务器读取
Return: BMXErrorCode
Example:
if (__r.get() == nullptr)
_Tp1* __tmp = __r.get();
function fetchRosterById
virtual BMXErrorCode fetchRosterById(
int64_t rosterId,
bool forceRefresh,
BMXRosterItemPtr & item
) =0
通过联系人id搜索用户
Parameters:
- rosterId 搜索的好友id
- forceRefresh 为true强制从服务器获取,为false情况下查询结果为空时自动从服务器获取。
- item 查询返回的用户的信息,传入指向为空的shared_ptr对象函数执行后会自动赋值。
Return: BMXErrorCode
Example:
function search
virtual BMXErrorCode search(
int64_t rosterId,
bool forceRefresh,
BMXRosterItemPtr & item
) =0
Deprecated.
Parameters:
- rosterId 搜索的好友id
- forceRefresh 为true强制从服务器获取,为false情况下查询结果为空时自动从服务器获取。
- item 查询返回的用户的信息,传入指向为空的shared_ptr对象函数执行后会自动赋值。
Return: BMXErrorCode
use fetchRosterById instead.
搜索用户
Example:
function fetchRosterByName
virtual BMXErrorCode fetchRosterByName(
const std::string & name,
bool forceRefresh,
BMXRosterItemPtr & item
) =0
通过用户名搜索用户
Parameters:
- name 搜索的用户名
- forceRefresh 为true强制从服务器获取,为false情况下查询结果为空时自动从服务器获取。
- item 查询返回的用户的信息,传入指向为空的shared_ptr对象函数执行后会自动赋值。
Return: BMXErrorCode
Example:
function search
virtual BMXErrorCode search(
const std::string & name,
bool forceRefresh,
BMXRosterItemPtr & item
) =0
Deprecated.
Parameters:
- name 搜索的用户名
- forceRefresh 为true强制从服务器获取,为false情况下查询结果为空时自动从服务器获取。
- item 查询返回的用户的信息,传入指向为空的shared_ptr对象函数执行后会自动赋值。
Return: BMXErrorCode
use fetchRosterByName instead.
搜索用户
Example:
function fetchRostersByIdList
virtual BMXErrorCode fetchRostersByIdList(
const std::vector< int64_t > & rosterIdList,
BMXRosterList & list,
bool forceRefresh
) =0
通过联系人id列表批量搜索用户
Parameters:
- rosterIdList 需要搜索的用户id列表
- list 返回的好友信息列表,传入空列表函数返回后从此处获取返回的好友信息列表
- forceRefresh 是否强制从服务器获取,为true则强制从服务器获取
Return: BMXErrorCode
Example:
function search
virtual BMXErrorCode search(
const std::vector< int64_t > & rosterIdList,
BMXRosterList & list,
bool forceRefresh
) =0
Deprecated.
Parameters:
- rosterIdList 需要搜索的用户id列表
- list 返回的好友信息列表,传入空列表函数返回后从此处获取返回的好友信息列表
- forceRefresh 是否强制从服务器获取,为true则强制从服务器获取
Return: BMXErrorCode
use fetchRostersByIdList instead.
批量搜索用户
Example:
function setItemLocalExtension
virtual BMXErrorCode setItemLocalExtension(
BMXRosterItemPtr item,
const JSON & extension
) =0
更新好友本地扩展信息
Parameters:
- item 用户信息
- extension 本地扩展信息
Return: BMXErrorCode
Example:
function setItemExtension
virtual BMXErrorCode setItemExtension(
BMXRosterItemPtr item,
const JSON & extension
) =0
更新好友服务器扩展信息
Parameters:
- item 用户信息
- extension 服务器扩展信息
Return: BMXErrorCode
Example:
function setItemAlias
virtual BMXErrorCode setItemAlias(
BMXRosterItemPtr item,
const JSON & alias
) =0
更新好友别名
Parameters:
- item 用户信息
- alias 好友别名
Return: BMXErrorCode
Example:
function setItemMuteNotification
virtual BMXErrorCode setItemMuteNotification(
BMXRosterItemPtr item,
bool status
) =0
设置是否拒收用户消息
Parameters:
- item 用户信息
- status 是否拒收用户消息,true拒收,false不拒收
Return: BMXErrorCode
Example:
function getApplicationList
virtual BMXErrorCode getApplicationList(
BMXRosterApplicationResultPagePtr & result,
const std::string & cursor,
int pageSize =10
) =0
获取申请添加好友列表
Parameters:
- result 返回的申请好友列表信息,传入指向为空的shared_ptr对象函数执行后会自动赋值。
- cursor 分页获取的起始cursor,第一次传入为空,后续传入上次操作返回的result中的cursor
- pageSize 分页大小
Return: BMXErrorCode
Example:
function apply
virtual BMXErrorCode apply(
int64_t rosterId,
const std::string & message,
const std::string & authAnswer =""
) =0
申请添加好友
Parameters:
- rosterId 申请添加的用户id
- message 好友申请信息
Return: BMXErrorCode
Example:
BMXErrorCode errorCode = client->getRosterService().apply(rosterId, params[1]);
function remove
virtual BMXErrorCode remove(
int64_t rosterId
) =0
删除好友
Parameters:
- rosterId 删除的好友id
Return: BMXErrorCode
Example:
BMXErrorCode errorCode = client->getRosterService().remove(rosterId);
function accept
virtual BMXErrorCode accept(
int64_t rosterId
) =0
接受加好友申请
Parameters:
- rosterId 申请加为好友的用户id
Return: BMXErrorCode
Example:
BMXErrorCode errorCode = client->getRosterService().accept(rosterId);
function decline
virtual BMXErrorCode decline(
int64_t rosterId,
const std::string & reason
) =0
拒绝加好友申请
Parameters:
- rosterId 申请加为好友的用户id
- reason 拒绝的原因
Return: BMXErrorCode
Example:
BMXErrorCode errorCode = client->getRosterService().decline(rosterId, params[1]);
function block
virtual BMXErrorCode block(
int64_t rosterId
) =0
加入黑名单
Parameters:
- rosterId 加入黑名单的用户id
Return: BMXErrorCode
Example:
function unblock
virtual BMXErrorCode unblock(
int64_t rosterId
) =0
从黑名单移除
Parameters:
- rosterId 从黑名单移除的用户id
Return: BMXErrorCode
Example:
function getBlockList
virtual BMXErrorCode getBlockList(
std::vector< int64_t > & list,
bool forceRefresh
) =0
获取黑名单,如果forceRefresh == true,则强制从服务端拉取
Parameters:
- list 好友id列表,传入空列表函数返回后从此处获取返回的黑名单id列表
- forceRefresh 是否从服务器读取数据,true为强制从服务器获取,false情况下本地读取列表为空的情况下会自动从服务器读取
Return: BMXErrorCode
Example:
function downloadAvatar
virtual BMXErrorCode downloadAvatar(
BMXRosterItemPtr item,
bool thumbnail,
Callback callback
) =0
下载头像
Parameters:
- item 用户信息
- thumbnail 是否下载缩略图,ture为缩略图,false为原图
- callback 下载回调函数
Return: BMXErrorCode
Example:
function addRosterListener
virtual void addRosterListener(
BMXRosterServiceListener * listener
) =0
添加好友变化监听者
Parameters:
- listener 好友变化监听者
Example:
client->getRosterService().addRosterListener(rosterListener);
function removeRosterListener
virtual void removeRosterListener(
BMXRosterServiceListener * listener
) =0
移除好友变化监听者
Parameters:
- listener 好友变化监听者
Protected Functions Documentation
Example:
mService->removeRosterListener(this);
client->getRosterService().removeRosterListener(rosterListener);
function BMXRosterService
inline BMXRosterService()
Example:
Updated on 2022-01-26 at 17:20:40 +0800