ZOOM Windows SDK  5.2.42037.1112
meeting_breakout_rooms_interface_v2.h
1 
6 #ifndef _MEETING_BREAKOUT_ROOMS_INTERFACE2_H_
7 #define _MEETING_BREAKOUT_ROOMS_INTERFACE2_H_
8 #include "..\zoom_sdk_def.h"
9 
10 BEGIN_ZOOM_SDK_NAMESPACE
11 
12 typedef enum
13 {
14  BO_CTRL_USER_STATUS_UNASSIGNED = 1, //User is in main conference, not assigned to BO
15  BO_CTRL_USER_STATUS_ASSIGNED_NOT_JOIN = 2, //User is assigned to BO, but not join
16  BO_CTRL_USER_STATUS_IN_BO = 3, //User is already in BO
17  BO_CTRL_USER_STATUS_UNKNOWN = 4,
18 }BO_CTRL_USER_STATUS;
19 
20 typedef enum
21 {
22  ATTENDEE_REQUEST_FOR_HELP_RESULT_IDLE, //host receive the help request and there is no other one currently requesting for help
23  ATTENDEE_REQUEST_FOR_HELP_RESULT_BUSY, //host is handling other's request with the request dialog
24  ATTENDEE_REQUEST_FOR_HELP_RESULT_IGNORE, //host click "later" button or close the request dialog directly
25  ATTENDEE_REQUEST_FOR_HELP_RESULT_HOST_ALREADY_IN_BO //host already in your BO meeting
26 }ATTENDEE_REQUEST_FOR_HELP_RESULT;
27 
29 {
30 public:
31  virtual ~IBOMeeting() {}
32 
33  virtual const wchar_t* GetBOID() = 0;
34  virtual const wchar_t* GetBOName() = 0;
35  virtual IList<const wchar_t*>* GetBOUserList() = 0;
36 };
37 
40 {
41 public:
42  virtual const wchar_t* CreateBO(const wchar_t* strBOName) = 0;
43  virtual bool UpdateBOName(const wchar_t* strBOID, const wchar_t* strNewBOName) = 0;
44  virtual bool RemoveBO(const wchar_t* strBOID) = 0;
45  virtual bool AssignUserToBO(const wchar_t* strUserID, const wchar_t* strBOID) = 0;
46  virtual bool RemoveUserFromBO(const wchar_t* strUserID, const wchar_t* strBOID) = 0;
47 };
48 
51 {
52 public:
53  virtual void OnHelpRequestReceived(const wchar_t* strUserID) = 0;
54 };
55 
56 class IBOAdmin
57 {
58 public:
59  virtual bool StartBO() = 0;
60  virtual bool StopBO() = 0;
61  virtual bool AssignNewUserToRunningBO(const wchar_t* strUserID, const wchar_t* strBOID) = 0;
62  virtual bool SwitchAssignedUserToRunningBO(const wchar_t* strUserID, const wchar_t* strBOID) = 0;
63  virtual bool CanStartBO() = 0;
64  virtual void SetEvent(IBOAdminEvent* pEvent) = 0;
65  virtual bool JoinBOByUserRequest(const wchar_t* strUserID) = 0;
66  virtual bool IgnoreUserHelpRequest(const wchar_t* strUserID) = 0;
67  virtual bool BroadcastMessage(const wchar_t* strMsg) = 0;
68 };
69 
72 {
73 public:
74  virtual bool JoinBO(const wchar_t* strBOID) = 0;
75  virtual bool LeaveBO() = 0;
76 };
77 
80 {
81 public:
82  virtual void OnHelpRequestHandleResultReceived(ATTENDEE_REQUEST_FOR_HELP_RESULT eResult) = 0;
83  virtual void OnHostJoinedThisBOMeeting() = 0;
84  virtual void OnHostLeaveThisBOMeeting() = 0;
85 };
86 
88 {
89 public:
90  virtual bool JoinBo() = 0;
91  virtual bool LeaveBo() = 0;
92  virtual const wchar_t* GetBoName() = 0;
93  virtual void SetEvent(IBOAttendeeEvent* pEvent) = 0;
94  virtual bool RequestForHelp() = 0;
95  virtual bool IsHostInThisBO() = 0;
96 };
97 
100 {
101 public:
102  //assigned user join BO/leave BO/name modified/!
103  virtual void OnBOInfoUpdated(const wchar_t* strBOID) = 0;
104  //unassigned user join master/leave master/name modified/!
105  virtual void OnUnAssignedUserUpdated() = 0;
106 };
107 class IBOData
108 {
109 public:
110  virtual void SetEvent(IBODataEvent* pEvent) = 0;
111  virtual IList<const wchar_t*>* GetUnassginedUserList() = 0;
112  virtual IList<const wchar_t*>* GetBOMeetingIDList() = 0;
113  virtual const wchar_t* GetBOUserName(const wchar_t* strUserID) = 0;
114  virtual BO_CTRL_USER_STATUS GetBOUserStatus(const wchar_t* strUserID) = 0;
115  virtual bool IsBOUserMyself(const wchar_t* strUserID) = 0;
116  virtual IBOMeeting* GetBOMeetingByID(const wchar_t* strBOID) = 0;
117  virtual const wchar_t* GetCurrentBoName() = 0;
118 };
119 
122 {
123 public:
124  virtual void onHasCreatorRightsNotification(IBOCreator* pCreatorObj) = 0;
125  virtual void onHasAdminRightsNotification(IBOAdmin* pAdminObj) = 0;
126  virtual void onHasAssistantRightsNotification(IBOAssistant* pAssistantObj) = 0;
127  virtual void onHasAttendeeRightsNotification(IBOAttendee* pAttendeeObj) = 0;
128  virtual void onHasDataHelperRightsNotification(IBOData* pDataHelperObj) = 0;
129 
130  virtual void onLostCreatorRightsNotification() = 0;
131  virtual void onLostAdminRightsNotification() = 0;
132  virtual void onLostAssistantRightsNotification() = 0;
133  virtual void onLostAttendeeRightsNotification() = 0;
134  virtual void onLostDataHelperRightsNotification() = 0;
135 
136  virtual void OnNewBroadcastMessageReceived(const wchar_t* strMsg) = 0;
137 };
138 
140 {
141 public:
142  virtual bool SetEvent(IMeetingBOControllerEvent* event) = 0;
143 
144  virtual IBOCreator* GetBOCreatorHelper() = 0;
145  virtual IBOAdmin* GetBOAdminHelper() = 0;
146  virtual IBOAssistant* GetBOAssistantHelper() = 0;
147  virtual IBOAttendee* GetBOAttedeeHelper() = 0;
148  virtual IBOData* GetBODataHelper() = 0;
149  virtual bool IsBOStarted() = 0;
150  virtual bool IsBOEnabled() = 0;
151  virtual bool IsInBOMeeting() =0;
152 };
153 
154 END_ZOOM_SDK_NAMESPACE
155 #endif
Definition: meeting_breakout_rooms_interface_v2.h:71
Definition: meeting_breakout_rooms_interface_v2.h:87
Definition: zoom_sdk_def.h:288
Definition: meeting_breakout_rooms_interface_v2.h:56
Definition: meeting_breakout_rooms_interface_v2.h:79
Definition: meeting_breakout_rooms_interface_v2.h:107
Definition: meeting_breakout_rooms_interface_v2.h:28
Definition: meeting_breakout_rooms_interface_v2.h:99
Definition: meeting_breakout_rooms_interface_v2.h:139
Definition: meeting_breakout_rooms_interface_v2.h:121
Definition: meeting_breakout_rooms_interface_v2.h:50
Definition: meeting_breakout_rooms_interface_v2.h:39