Access in-meeting user information
After you join a meeting, use meeting::GetMeetingToolkit(...) to read participant lists,
meeting::GetParticipantsToolkit(...) to resolve a user by ID or role, and your
IZMToolSuiteProxyListener - set during initialization - for roster changes.
Join a meeting, leave a meeting, or change status
When users join, leave, or change status in a meeting or webinar, implement OnUserStatusChanged
on the same listener object you pass to ZMToolSuiteProxy::SetToolSuiteProxyListener(...).
Inspect vUserList.eUserAction (ZMToolSuiteUserAction) and iterate vUserList.vUserList.
class MyEventListener : public ZMToolSuiteProxy::IZMToolSuiteProxyListener {
public:
void OnUserStatusChanged(
ZMToolSuiteProxy::ZMToolSuiteUserList vUserList,
ZMToolSuiteProxy::ZMToolSuiteMeetingInstance eInstance
) override {
// vUserList.error_code, vUserList.eUserAction
if (!vUserList.vUserList) return;
for (int i = 0; i < vUserList.vUserList->GetCount(); ++i) {
ZMToolSuiteProxy::ZMToolSuiteUser user = vUserList.vUserList->GetItem(i);
(void)user.iUserID;
(void)user.strUserName;
}
}
// implement other required listener methods...
};
Get participant information
To get the current participants' information in a meeting, use GetParticipantsList.
In a webinar, get this information by using the GetAttendeeList`.
auto* meetingApi = meeting::GetMeetingToolkit(g_meetingInstance);
IToolSuiteVector<ZMToolSuiteUser>* participants = meetingApi->GetParticipantsList();
for (int i = 0; participants && i < participants->GetCount(); ++i) {
ZMToolSuiteUser user = participants->GetItem(i);
(void)user.iUserID;
(void)user.strUserName;
}
IToolSuiteVector<ZMToolSuiteUser>* attendees = meetingApi->GetAttendeeList(); // webinar-style attendee list when applicable
Look up one user
Get the current user by using GetMySelf. If you are looking for another specific user,
pass their userID to GetUserByUserID.
auto* participantsApi = meeting::GetParticipantsToolkit(g_meetingInstance);
ZMToolSuiteUser me = participantsApi->GetMySelf();
ZMToolSuiteUser other = participantsApi->GetUserByUserID(12345);
View the user's meeting or webinar role
Meeting and webinar roles use one of these values under ZMToolSuiteUserRole.
ZMToolSuiteUserRole_NoneZMToolSuiteUserRole_HostZMToolSuiteUserRole_CoHostZMToolSuiteUserRole_AttendeeZMToolSuiteUserRole_PanelistZMToolSuiteUserRole_BreakoutRoomModerator
Get the user's role in the current meeting or webinar
To check a user's current role, use GetUserRoleByUserID.
participantsApi->GetUserRoleByUserID(
12345,
[](const GetUserRoleByUserIDResult& result) {
if (result.error_code == kZMToolSuiteProxyErrorsSuccess) {
ZMToolSuiteUserRole role = result.role;
(void)role;
}
}
);
Check if a given user is the current user
To check if a user is the current user, use the bMyself boolean.
bool isMe = participantsApi->GetMySelf().bMyself;