Defines a user management API. This module defines functions only for managing signed-in users. Platforms that do not have users must still implement this API, always reporting a single user that is current and signed in.
These APIs are NOT expected to be thread-safe, so either call them from a single thread, or perform proper synchronization around all calls.
Macros
kSbUserInvalid
Well-defined value for an invalid user.
Enums
SbUserPropertyId
A set of string properties that can be queried on a user.
Values
kSbUserPropertyAvatarUrl
The URL to the avatar for a user. Avatars are not provided on all platforms.
kSbUserPropertyHomeDirectory
The path to a user's home directory, if supported on this platform.
kSbUserPropertyUserName
The username of a user, which may be the same as the User ID, or it may be friendlier.
kSbUserPropertyUserId
A unique user ID of a user.
Typedefs
SbUser
A handle to a user.
Definition
typedef SbUserPrivate* SbUser
Functions
SbUserGetCurrent
Gets the current primary user, if one exists. This is the user that is determined, in a platform-specific way, to be the primary user controlling the application. For example, the determination might be made because that user launched the app, though it should be made using whatever criteria are appropriate for the platform.
It is expected that there will be a unique SbUser per signed-in user, and that the referenced objects will persist for the lifetime of the app.
Declaration
SbUser SbUserGetCurrent()
SbUserGetProperty
Retrieves the value of property_id
for user
and places it in out_value
.
The function returns:
true
if the property value is retrieved successfullyfalse
ifuser
is invalid; ifproperty_id
isn't recognized, supported, or set foruser
; or ifvalue_size
is too small.
user
: The user for which property size data is being retrieved. property_id
:
The property for which the data is requested. out_value
: The retrieved
property value. value_size
: The size of the retrieved property value.
Declaration
bool SbUserGetProperty(SbUser user, SbUserPropertyId property_id, char *out_value, int value_size)
SbUserGetPropertySize
Returns the size of the value of property_id
for user
, INCLUDING the
terminating null character. The function returns 0
if user
is invalid or if
property_id
is not recognized, supported, or set for the user.
user
: The user for which property size data is being retrieved. property_id
:
The property for which the data is requested.
Declaration
int SbUserGetPropertySize(SbUser user, SbUserPropertyId property_id)
SbUserGetSignedIn
Gets a list of up to users_size
signed-in users and places the results in
out_users
. The return value identifies the actual number of signed-in users,
which may be greater or less than users_size
.
It is expected that there will be a unique SbUser
per signed-in user and that
the referenced objects will persist for the lifetime of the app.
out_users
: Handles for the retrieved users. users_size
: The maximum number
of signed-in users to retrieve.
Declaration
int SbUserGetSignedIn(SbUser *out_users, int users_size)
SbUserIsValid
Returns whether the given user handle is valid.
Declaration
static bool SbUserIsValid(SbUser user)