LANYINGDevelopers
Web & Mini ProgramiOSAndroidC++Server API

floo::BMXRosterService#

Friend Service

#include <bmx_roster_service.h>

Public Types#

Name
enum classApplicationStatus { Pending, Accepted, Declined}
Request state
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 BMXErrorCodeget(std::vector< int64_t > & list, bool forceRefresh) =0
Get friend list, force pull from server-side if forceRefresh == true
virtual BMXErrorCodefetchRosterById(int64_t rosterId, bool forceRefresh, BMXRosterItemPtr & item) =0
Search for user by contact id
virtual BMXErrorCodesearch(int64_t rosterId, bool forceRefresh, BMXRosterItemPtr & item) =0
Deprecated.
virtual BMXErrorCodefetchRosterByName(const std::string & name, bool forceRefresh, BMXRosterItemPtr & item) =0
Search for user by username
virtual BMXErrorCodesearch(const std::string & name, bool forceRefresh, BMXRosterItemPtr & item) =0
Deprecated.
virtual BMXErrorCodefetchRostersByIdList(const std::vector< int64_t > & rosterIdList, BMXRosterList & list, bool forceRefresh) =0
Search for user in batch by contact id list
virtual BMXErrorCodesearch(const std::vector< int64_t > & rosterIdList, BMXRosterList & list, bool forceRefresh) =0
Deprecated.
virtual BMXErrorCodesetItemLocalExtension(BMXRosterItemPtr item, const JSON & extension) =0
Update friend's local extension information
virtual BMXErrorCodesetItemExtension(BMXRosterItemPtr item, const JSON & extension) =0
Update friend server extension information
virtual BMXErrorCodesetItemAlias(BMXRosterItemPtr item, const JSON & alias) =0
Update friend's alias
virtual BMXErrorCodesetItemMuteNotification(BMXRosterItemPtr item, bool status) =0
Set whether to reject user message
virtual BMXErrorCodegetApplicationList(BMXRosterApplicationResultPagePtr & result, const std::string & cursor, int pageSize =10) =0
Get list of adding friend requests
virtual BMXErrorCodeapply(int64_t rosterId, const std::string & message, const std::string & authAnswer ="") =0
Request to add friend
virtual BMXErrorCoderemove(int64_t rosterId) =0
Delete friend
virtual BMXErrorCodeaccept(int64_t rosterId) =0
Accept adding friend request
virtual BMXErrorCodedecline(int64_t rosterId, const std::string & reason) =0
Reject adding friend request
virtual BMXErrorCodeblock(int64_t rosterId) =0
Add to blacklist
virtual BMXErrorCodeunblock(int64_t rosterId) =0
Remove from blacklist
virtual BMXErrorCodegetBlockList(std::vector< int64_t > & list, bool forceRefresh) =0
Get blacklist, force pull from server-side if forceRefresh == true
virtual BMXErrorCodedownloadAvatar(BMXRosterItemPtr item, bool thumbnail, Callback callback) =0
Download avatar
virtual voidaddRosterListener(BMXRosterServiceListener * listener) =0
Add friend change listener
virtual voidremoveRosterListener(BMXRosterServiceListener * listener) =0
Remove friend change listener

Protected Functions#

Public Types Documentation#

enum ApplicationStatus#

EnumeratorValueDescription
PendingRequest pending
AcceptedRequest accepted
DeclinedRequest rejected

Request state

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:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXRosterService",function="~BMXRosterService" %}{% endlanying_code_snippet %}

function get#

virtual BMXErrorCode get(
    std::vector< int64_t > & list,
    bool forceRefresh
) =0

Get friend list, force pull from server-side if forceRefresh == true

Parameters:

  • list List of friend ids, pass in an empty list function and fetch the returned friend id list here
  • forceRefresh Whether to read data from server, true to force read from server, false to automatically read from server if the local read list is empty

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXRosterService",function="get" %}{% endlanying_code_snippet %}

function fetchRosterById#

virtual BMXErrorCode fetchRosterById(
    int64_t rosterId,
    bool forceRefresh,
    BMXRosterItemPtr & item
) =0

Search for user by contact id

Parameters:

  • rosterId Friend id to search
  • forceRefresh True to force fetch from server, false to automatically fetch from server when query result is empty.
  • item User information returned by query, passed in a pointing-to-empty shared_ptr objective function and assigned automatically after executed.

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXRosterService",function="fetchRosterById" %}{% endlanying_code_snippet %}
virtual BMXErrorCode search(
    int64_t rosterId,
    bool forceRefresh,
    BMXRosterItemPtr & item
) =0

Deprecated.

Parameters:

  • rosterId Friend id to search
  • forceRefresh True to force fetch from server, false to automatically fetch from server when query result is empty.
  • item User information returned by query, passed in a pointing-to-empty shared_ptr objective function and assigned automatically after executed.

Return: BMXErrorCode

use fetchRosterById instead.

Search for users

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXRosterService",function="search" %}{% endlanying_code_snippet %}

function fetchRosterByName#

virtual BMXErrorCode fetchRosterByName(
    const std::string & name,
    bool forceRefresh,
    BMXRosterItemPtr & item
) =0

Search for user by username

Parameters:

  • name Username to search
  • forceRefresh True to force fetch from server, false to automatically fetch from server when query result is empty.
  • item User information returned by query, passed in a pointing-to-empty shared_ptr objective function and assigned automatically after executed.

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXRosterService",function="fetchRosterByName" %}{% endlanying_code_snippet %}

function search#

virtual BMXErrorCode search(
    const std::string & name,
    bool forceRefresh,
    BMXRosterItemPtr & item
) =0

Deprecated.

Parameters:

  • name Username to search
  • forceRefresh True to force fetch from server, false to automatically fetch from server when query result is empty.
  • item User information returned by query, passed in a pointing-to-empty shared_ptr objective function and assigned automatically after executed.

Return: BMXErrorCode

use fetchRosterByName instead.

Search for users

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXRosterService",function="search" %}{% endlanying_code_snippet %}

function fetchRostersByIdList#

virtual BMXErrorCode fetchRostersByIdList(
    const std::vector< int64_t > & rosterIdList,
    BMXRosterList & list,
    bool forceRefresh
) =0

Search for user in batch by contact id list

Parameters:

  • rosterIdList List of user ids to search
  • list Returned friend information list, pass in an empty list function and fetch the returned result here
  • forceRefresh Whether to force fetch from server, true to force fetch from server

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXRosterService",function="fetchRostersByIdList" %}{% endlanying_code_snippet %}

function search#

virtual BMXErrorCode search(
    const std::vector< int64_t > & rosterIdList,
    BMXRosterList & list,
    bool forceRefresh
) =0

Deprecated.

Parameters:

  • rosterIdList List of user ids to search
  • list Returned friend information list, pass in an empty list function and fetch the returned result here
  • forceRefresh Whether to force fetch from server, true to force fetch from server

Return: BMXErrorCode

use fetchRostersByIdList instead.

Batch search for users

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXRosterService",function="search" %}{% endlanying_code_snippet %}

function setItemLocalExtension#

virtual BMXErrorCode setItemLocalExtension(
    BMXRosterItemPtr item,
    const JSON & extension
) =0

Update friend's local extension information

Parameters:

  • item User information
  • extension Local extension information

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXRosterService",function="setItemLocalExtension" %}{% endlanying_code_snippet %}

function setItemExtension#

virtual BMXErrorCode setItemExtension(
    BMXRosterItemPtr item,
    const JSON & extension
) =0

Update friend server extension information

Parameters:

  • item User information
  • extension Server extension information

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXRosterService",function="setItemExtension" %}{% endlanying_code_snippet %}

function setItemAlias#

virtual BMXErrorCode setItemAlias(
    BMXRosterItemPtr item,
    const JSON & alias
) =0

Update friend's alias

Parameters:

  • item User information
  • alias Friend alias

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXRosterService",function="setItemAlias" %}{% endlanying_code_snippet %}

function setItemMuteNotification#

virtual BMXErrorCode setItemMuteNotification(
    BMXRosterItemPtr item,
    bool status
) =0

Set whether to reject user message

Parameters:

  • item User information
  • status Whether to reject user message, true to reject, false to accept

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXRosterService",function="setItemMuteNotification" %}{% endlanying_code_snippet %}

function getApplicationList#

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

Get list of adding friend requests

Parameters:

  • result Returned friend application list information, pass in a pointing-to-empty shared_ptr objective function which will be automatically assigned after executed.
  • cursor Paged starting cursor, passed in as empty-valued first, followed by the cursor in the result returned by last operation
  • pageSize Page size

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXRosterService",function="getApplicationList" %}{% endlanying_code_snippet %}

function apply#

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

Request to add friend

Parameters:

  • rosterId User id requested to be added
  • message Friend application information

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXRosterService",function="apply" %}{% endlanying_code_snippet %}

function remove#

virtual BMXErrorCode remove(
    int64_t rosterId
) =0

Delete friend

Parameters:

  • rosterId Delete friend id

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXRosterService",function="remove" %}{% endlanying_code_snippet %}

function accept#

virtual BMXErrorCode accept(
    int64_t rosterId
) =0

Accept adding friend request

Parameters:

  • rosterId User id to be added as a friend

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXRosterService",function="accept" %}{% endlanying_code_snippet %}

function decline#

virtual BMXErrorCode decline(
    int64_t rosterId,
    const std::string & reason
) =0

Reject adding friend request

Parameters:

  • rosterId User id to be added as a friend
  • reason Reason for rejection

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXRosterService",function="decline" %}{% endlanying_code_snippet %}

function block#

virtual BMXErrorCode block(
    int64_t rosterId
) =0

Add to blacklist

Parameters:

  • rosterId Blacklisted user id

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXRosterService",function="block" %}{% endlanying_code_snippet %}

function unblock#

virtual BMXErrorCode unblock(
    int64_t rosterId
) =0

Remove from blacklist

Parameters:

  • rosterId Unblacklisted user id

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXRosterService",function="unblock" %}{% endlanying_code_snippet %}

function getBlockList#

virtual BMXErrorCode getBlockList(
    std::vector< int64_t > & list,
    bool forceRefresh
) =0

Get blacklist, force pull from server-side if forceRefresh == true

Parameters:

  • list List of friend ids, pass in an empty list function and fetch the returned blacklist id list here.
  • forceRefresh Whether to read data from server, true to force read from server, false to automatically read from server if the local read list is empty

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXRosterService",function="getBlockList" %}{% endlanying_code_snippet %}

function downloadAvatar#

virtual BMXErrorCode downloadAvatar(
    BMXRosterItemPtr item,
    bool thumbnail,
    Callback callback
) =0

Download avatar

Parameters:

  • item User information
  • thumbnail Whether to download thumbnail, true for thumbnail, false for original
  • callback Download callback function

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXRosterService",function="downloadAvatar" %}{% endlanying_code_snippet %}

function addRosterListener#

virtual void addRosterListener(
    BMXRosterServiceListener * listener
) =0

Add friend change listener

Parameters:

  • listener Friend change listener

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXRosterService",function="addRosterListener" %}{% endlanying_code_snippet %}

function removeRosterListener#

virtual void removeRosterListener(
    BMXRosterServiceListener * listener
) =0

Remove friend change listener

Parameters:

  • listener Friend change listener

Protected Functions Documentation#

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXRosterService",function="removeRosterListener" %}{% endlanying_code_snippet %}

function BMXRosterService#

inline BMXRosterService()

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXRosterService",function="BMXRosterService" %}{% endlanying_code_snippet %}

Updated on 2022-01-26 at 17:20:40 +0800

Generated API content with concise AI notes where context helps.