ALUserInfo¶
NAOqi Core - Overview | API | Tutorials
What it does¶
The ALUserInfo service allows you to manage (edit, read, check existence, remove) persistent data about users.
How it works¶
Users and focused user¶
The module allows you to edit and read data of all the users created by ALUserSession. You cannot edit data of a user which does not exist. To make sure a user exists, use ALUserSessionProxy::getUserList
. Whe a user is deleted by ALUserSession, ALUserInfo is notified by the signal ALUserSessionProxy::onDeletedUsers
and deletes all the informations for the deleted users in all the domains.
For convenience, methods for editing, checking and reading data of the focused have been implemented. The focused user is the one which is tracked by the robot so probably the one which is interacting and speaking with it. For your behaviors and your dialogs you will most of the time want to edit the informations about the focused user.
Domains¶
When you want to edit or read a data you need to precise a domain name as first argument. This allows you to set a data with differents values in each domain (you can have a specific domain for each of your applications). The only restriction is the user-info domain: com.aldebaran.userinfo which usage is restricted. Moreover you can read the data of this domain. Here is the list of user information you can get in this domain:
Basic info | Type | Complementary description |
---|---|---|
name | string | How the user wants to be call (can be a nickname) |
age | integer | |
gender | “m” or “f” | “m” for male, “f” for female |
fullname | string | Full written name (for display) a possibly longer form (e.g. “Robert Smith”) |
birthyear | integer | |
birthmonth | integer (1-12) | |
birthday | integer (1-31) |
Link with ALKnowledge¶
ALUserInfo is acutally using ALKnowledge as a backend to store the data. This means that you can edit, read and delete user data using the ALKnowledge API. This API gives you more tools to manage data about the user but not only so it can be more tricky to use but it is also more powerful.