Skip to content

rc_client_begin_fetch_all_user_progress

Jamiras edited this page Dec 21, 2025 · 2 revisions

Fetches a list of games for a console and the user's progress for each.

Syntax

rc_client_async_handle_t* rc_client_begin_fetch_all_user_progress(
    rc_client_t* client,
    uint32_t console_id,
    rc_client_fetch_all_user_progress_callback_t callback,
    void* callback_userdata
);

Parameters

client

The rc_client_t to use to fetch the leaderboard entries.

console_id

The unique identifier of the console to query.

callback

Function to call when the list is available.

callback_userdata

Additional information to pass to the callback function.

Returns

Pointer to an rc_client_async_handle_t that can be passed to rc_client_abort_async to cancel the user progress query request. The rc_client_async_handle_t is invalid after callback has been called.


rc_client_fetch_all_user_progress_callback_t

void (*rc_client_fetch_all_user_progress_callback_t)(
    int result,
    const char* error_message,
    rc_client_all_user_progress_t* list,
    rc_client_t* client,
    void* userdata
);

result

RC_OK on success, or an error code indicating the failure.

result problem
RC_OK User progress entries were successfully retrieved.
RC_INVALID_STATE Generic failure. See error_message for details.
RC_INVALID_JSON Server response could not be processed.
RC_MISSING_VALUE Server response was not complete.
RC_API_FAILURE Error occurred on the server. See error_message for details.
RC_OUT_OF_MEMORY Memory could not be allocated to hold the response.

error_message

NULL on success, or a message related to a non-successful result.

list

Pointer to a rc_client_all_user_progress_t object containing the requested user progress entries.

It must be released by calling rc_client_destroy_all_user_progress.

Will be NULL if an error occurred.

client

The rc_client_t that was handling the load game attempt.

userdata

A client provided pointer passed to the begin function as callback_userdata.


rc_client_all_user_progress_t

typedef struct rc_client_all_user_progress_t {
  rc_client_all_user_progress_entry_t* entries;
  uint32_t num_entries;
} rc_client_all_user_progress_t;

entries

An array of user progress entries.

num_entries

The number of entries in the entries array.


rc_client_all_user_progress_entry_t

typedef struct rc_client_all_user_progress_entry_t{
  uint32_t game_id;
  uint32_t num_achievements;
  uint32_t num_unlocked_achievements;
  uint32_t num_unlocked_achievements_hardcore;
} rc_client_all_user_progress_entry_t;

game_id

The unique identifier of the game.

num_achievements

The number of achievements in the game.

num_unlocked_acheivements

The number of achievements the user has unlocked.

num_unlocked_achievements_hardcore

The number of achievements the user has unlocked in hardcore.

Remarks

The rc_client_all_user_progress_t instance created by this function must be released by calling rc_client_destroy_all_user_progress.

Minimum version: 12.0.0

See also

rc_client_begin_fetch_game_titles

rc_client_destroy_all_user_progress

rcheevos
rc_client

Integration guide

client

user

game

processing

additional data

rc_client_raintegration

Integration guide

rc_runtime
rhash
rapi

common

user

runtime

info

Clone this wiki locally