floo2
Classes | Public Types | Public Member Functions | List of all members
floo::BMXRosterService Class Referenceabstract

好友Service More...

#include <bmx_roster_service.h>

Classes

struct  Application
 好友邀请 More...
 

Public Types

enum  ApplicationStatus { ApplicationStatus::Pending, ApplicationStatus::Accepted, ApplicationStatus::Declined }
 请求状态 More...
 
typedef std::shared_ptr< ApplicationApplicationPtr
 
typedef std::vector< ApplicationPtr > ApplicationList
 
typedef BMXResultPage< ApplicationPtr > BMXRosterApplicationResultPage
 
typedef std::shared_ptr< BMXRosterApplicationResultPageBMXRosterApplicationResultPagePtr
 
typedef std::function< void(int percent)> Callback
 

Public Member Functions

virtual BMXErrorCode get (std::vector< int64_t > &list, bool forceRefresh)=0
 获取好友列表,如果forceRefresh == true,则强制从服务端拉取 More...
 
virtual BMXErrorCode fetchRosterById (int64_t rosterId, bool forceRefresh, BMXRosterItemPtr &item)=0
 通过联系人id搜索用户 More...
 
virtual BMXErrorCode search (int64_t rosterId, bool forceRefresh, BMXRosterItemPtr &item)=0
 搜索用户 More...
 
virtual BMXErrorCode fetchRosterByName (const std::string &name, bool forceRefresh, BMXRosterItemPtr &item)=0
 通过用户名搜索用户 More...
 
virtual BMXErrorCode search (const std::string &name, bool forceRefresh, BMXRosterItemPtr &item)=0
 搜索用户 More...
 
virtual BMXErrorCode fetchRostersByIdList (const std::vector< int64_t > &rosterIdList, BMXRosterList &list, bool forceRefresh)=0
 通过联系人id列表批量搜索用户 More...
 
virtual BMXErrorCode search (const std::vector< int64_t > &rosterIdList, BMXRosterList &list, bool forceRefresh)=0
 批量搜索用户 More...
 
virtual BMXErrorCode setItemLocalExtension (BMXRosterItemPtr item, const JSON &extension)=0
 更新好友本地扩展信息 More...
 
virtual BMXErrorCode setItemExtension (BMXRosterItemPtr item, const JSON &extension)=0
 更新好友服务器扩展信息 More...
 
virtual BMXErrorCode setItemAlias (BMXRosterItemPtr item, const JSON &alias)=0
 更新好友别名 More...
 
virtual BMXErrorCode setItemMuteNotification (BMXRosterItemPtr item, bool status)=0
 设置是否拒收用户消息 More...
 
virtual BMXErrorCode getApplicationList (BMXRosterApplicationResultPagePtr &result, const std::string &cursor, int pageSize=10)=0
 获取申请添加好友列表 More...
 
virtual BMXErrorCode apply (int64_t rosterId, const std::string &message, const std::string &authAnswer="")=0
 申请添加好友 More...
 
virtual BMXErrorCode remove (int64_t rosterId)=0
 删除好友 More...
 
virtual BMXErrorCode accept (int64_t rosterId)=0
 接受加好友申请 More...
 
virtual BMXErrorCode decline (int64_t rosterId, const std::string &reason)=0
 拒绝加好友申请 More...
 
virtual BMXErrorCode block (int64_t rosterId)=0
 加入黑名单 More...
 
virtual BMXErrorCode unblock (int64_t rosterId)=0
 从黑名单移除 More...
 
virtual BMXErrorCode getBlockList (std::vector< int64_t > &list, bool forceRefresh)=0
 获取黑名单,如果forceRefresh == true,则强制从服务端拉取 More...
 
virtual BMXErrorCode downloadAvatar (BMXRosterItemPtr item, bool thumbnail=true, Callback callback=[](int){})=0
 下载头像 More...
 
virtual void addRosterListener (BMXRosterServiceListener *listener)=0
 添加好友变化监听者 More...
 
virtual void removeRosterListener (BMXRosterServiceListener *listener)=0
 移除好友变化监听者 More...
 

Detailed Description

好友Service

Member Enumeration Documentation

◆ ApplicationStatus

请求状态

Enumerator
Pending 

请求待处理

Accepted 

请求已接受

Declined 

请求已拒绝

Member Function Documentation

◆ accept()

virtual BMXErrorCode floo::BMXRosterService::accept ( int64_t  rosterId)
pure virtual

接受加好友申请

Parameters
rosterId申请加为好友的用户id
Returns
BMXErrorCode

◆ addRosterListener()

virtual void floo::BMXRosterService::addRosterListener ( BMXRosterServiceListener listener)
pure virtual

添加好友变化监听者

Parameters
listener好友变化监听者

◆ apply()

virtual BMXErrorCode floo::BMXRosterService::apply ( int64_t  rosterId,
const std::string &  message,
const std::string &  authAnswer = "" 
)
pure virtual

申请添加好友

Parameters
rosterId申请添加的用户id
message好友申请信息
Returns
BMXErrorCode

◆ block()

virtual BMXErrorCode floo::BMXRosterService::block ( int64_t  rosterId)
pure virtual

加入黑名单

Parameters
rosterId加入黑名单的用户id
Returns
BMXErrorCode

◆ decline()

virtual BMXErrorCode floo::BMXRosterService::decline ( int64_t  rosterId,
const std::string &  reason 
)
pure virtual

拒绝加好友申请

Parameters
rosterId申请加为好友的用户id
reason拒绝的原因
Returns
BMXErrorCode

◆ downloadAvatar()

virtual BMXErrorCode floo::BMXRosterService::downloadAvatar ( BMXRosterItemPtr  item,
bool  thumbnail = true,
Callback  callback = [](int){} 
)
pure virtual

下载头像

Parameters
item用户信息
thumbnail是否下载缩略图,ture为缩略图,false为原图
callback下载回调函数
Returns
BMXErrorCode

◆ fetchRosterById()

virtual BMXErrorCode floo::BMXRosterService::fetchRosterById ( int64_t  rosterId,
bool  forceRefresh,
BMXRosterItemPtr &  item 
)
pure virtual

通过联系人id搜索用户

Parameters
rosterId搜索的好友id
forceRefresh为true强制从服务器获取,为false情况下查询结果为空时自动从服务器获取。
item查询返回的用户的信息,传入指向为空的shared_ptr对象函数执行后会自动赋值。
Returns
BMXErrorCode

◆ fetchRosterByName()

virtual BMXErrorCode floo::BMXRosterService::fetchRosterByName ( const std::string &  name,
bool  forceRefresh,
BMXRosterItemPtr &  item 
)
pure virtual

通过用户名搜索用户

Parameters
name搜索的用户名
forceRefresh为true强制从服务器获取,为false情况下查询结果为空时自动从服务器获取。
item查询返回的用户的信息,传入指向为空的shared_ptr对象函数执行后会自动赋值。
Returns
BMXErrorCode

◆ fetchRostersByIdList()

virtual BMXErrorCode floo::BMXRosterService::fetchRostersByIdList ( const std::vector< int64_t > &  rosterIdList,
BMXRosterList &  list,
bool  forceRefresh 
)
pure virtual

通过联系人id列表批量搜索用户

Parameters
rosterIdList需要搜索的用户id列表
list返回的好友信息列表,传入空列表函数返回后从此处获取返回的好友信息列表
forceRefresh是否强制从服务器获取,为true则强制从服务器获取
Returns
BMXErrorCode

◆ get()

virtual BMXErrorCode floo::BMXRosterService::get ( std::vector< int64_t > &  list,
bool  forceRefresh 
)
pure virtual

获取好友列表,如果forceRefresh == true,则强制从服务端拉取

Parameters
list好友id列表,传入空列表函数返回后从此处获取返回的好友id列表
forceRefresh是否从服务器读取数据,true为强制从服务器获取,false情况下本地读取列表为空的情况下会自动从服务器读取
Returns
BMXErrorCode

◆ getApplicationList()

virtual BMXErrorCode floo::BMXRosterService::getApplicationList ( BMXRosterApplicationResultPagePtr &  result,
const std::string &  cursor,
int  pageSize = 10 
)
pure virtual

获取申请添加好友列表

Parameters
result返回的申请好友列表信息,传入指向为空的shared_ptr对象函数执行后会自动赋值。
cursor分页获取的起始cursor,第一次传入为空,后续传入上次操作返回的result中的cursor
pageSize分页大小
Returns
BMXErrorCode

◆ getBlockList()

virtual BMXErrorCode floo::BMXRosterService::getBlockList ( std::vector< int64_t > &  list,
bool  forceRefresh 
)
pure virtual

获取黑名单,如果forceRefresh == true,则强制从服务端拉取

Parameters
list好友id列表,传入空列表函数返回后从此处获取返回的黑名单id列表
forceRefresh是否从服务器读取数据,true为强制从服务器获取,false情况下本地读取列表为空的情况下会自动从服务器读取
Returns
BMXErrorCode

◆ remove()

virtual BMXErrorCode floo::BMXRosterService::remove ( int64_t  rosterId)
pure virtual

删除好友

Parameters
rosterId删除的好友id
Returns
BMXErrorCode

◆ removeRosterListener()

virtual void floo::BMXRosterService::removeRosterListener ( BMXRosterServiceListener listener)
pure virtual

移除好友变化监听者

Parameters
listener好友变化监听者

◆ search() [1/3]

virtual BMXErrorCode floo::BMXRosterService::search ( int64_t  rosterId,
bool  forceRefresh,
BMXRosterItemPtr &  item 
)
pure virtual

搜索用户

Deprecated. use fetchRosterById instead.

Parameters
rosterId搜索的好友id
forceRefresh为true强制从服务器获取,为false情况下查询结果为空时自动从服务器获取。
item查询返回的用户的信息,传入指向为空的shared_ptr对象函数执行后会自动赋值。
Returns
BMXErrorCode

◆ search() [2/3]

virtual BMXErrorCode floo::BMXRosterService::search ( const std::string &  name,
bool  forceRefresh,
BMXRosterItemPtr &  item 
)
pure virtual

搜索用户

Deprecated. use fetchRosterByName instead.

Parameters
name搜索的用户名
forceRefresh为true强制从服务器获取,为false情况下查询结果为空时自动从服务器获取。
item查询返回的用户的信息,传入指向为空的shared_ptr对象函数执行后会自动赋值。
Returns
BMXErrorCode

◆ search() [3/3]

virtual BMXErrorCode floo::BMXRosterService::search ( const std::vector< int64_t > &  rosterIdList,
BMXRosterList &  list,
bool  forceRefresh 
)
pure virtual

批量搜索用户

Deprecated. use fetchRostersByIdList instead.

Parameters
rosterIdList需要搜索的用户id列表
list返回的好友信息列表,传入空列表函数返回后从此处获取返回的好友信息列表
forceRefresh是否强制从服务器获取,为true则强制从服务器获取
Returns
BMXErrorCode

◆ setItemAlias()

virtual BMXErrorCode floo::BMXRosterService::setItemAlias ( BMXRosterItemPtr  item,
const JSON &  alias 
)
pure virtual

更新好友别名

Parameters
item用户信息
alias好友别名
Returns
BMXErrorCode

◆ setItemExtension()

virtual BMXErrorCode floo::BMXRosterService::setItemExtension ( BMXRosterItemPtr  item,
const JSON &  extension 
)
pure virtual

更新好友服务器扩展信息

Parameters
item用户信息
extension服务器扩展信息
Returns
BMXErrorCode

◆ setItemLocalExtension()

virtual BMXErrorCode floo::BMXRosterService::setItemLocalExtension ( BMXRosterItemPtr  item,
const JSON &  extension 
)
pure virtual

更新好友本地扩展信息

Parameters
item用户信息
extension本地扩展信息
Returns
BMXErrorCode

◆ setItemMuteNotification()

virtual BMXErrorCode floo::BMXRosterService::setItemMuteNotification ( BMXRosterItemPtr  item,
bool  status 
)
pure virtual

设置是否拒收用户消息

Parameters
item用户信息
status是否拒收用户消息,true拒收,false不拒收
Returns
BMXErrorCode

◆ unblock()

virtual BMXErrorCode floo::BMXRosterService::unblock ( int64_t  rosterId)
pure virtual

从黑名单移除

Parameters
rosterId从黑名单移除的用户id
Returns
BMXErrorCode

The documentation for this class was generated from the following file: