Updated on 2024-09-13 GMT+08:00

Editing a Meeting

EditConf

API Description

This API is used to edit a scheduled meeting.

Precautions

  1. Call this API after login.
  2. This API can only be used to edit meetings that have not started. If this API is called to edit a meeting that has been started, a failure message is returned.
  3. This API is an asynchronous API. The return value only indicates whether the API is successfully called. The actual service processing result is returned in the corresponding callback function.
  4. All parameters are mandatory. Before editing a meeting, you need to query meeting details. For parameters that do not need to be changed, use the values returned by the meeting details query API.

Method Definition

1
HWM_SDK_AGENT_API hwmsdk::HwmErrCode EditConf(const HwmEditConfParam *confParam);

Callback Function

1
virtual void OnEditConfResult(hwmsdk::HwmErrCode ret, const char* reason) {};

Parameter Description

Table 1 HwmEditConfParam description

Parameter

Mandatory

Type

Description

confId

Yes

char[]

Meeting ID.

subject

Yes

char[]

Meeting topic.

startTime

Yes

long long

UTC timestamp when the meeting starts, in seconds.

duration

Yes

int

Meeting duration, in minutes.

confType

Yes

HwmConfMediaType

Meeting type. The default meeting type is video meeting.

isNeedConfPwd

Yes

bool

Whether a password is required. By default, no password is required.

isRecordOn

Yes

bool

Whether to enable recording. (This field will be discarded and is not recommended.)

isLiveOn

No

bool

Reserved field. This parameter is transparently transmitted during meeting modification.

isAutoRecordOn

Yes

bool

Whether to enable automatic meeting recording.

timeZone

Yes

int

Time zone code. For details, see Time Zone Table.

vmrFlag

Yes

bool

Whether the meeting is held in a cloud meeting room. The value cannot be changed. Enter the value returned by the meeting details query API. (This parameter is deprecated.)

vmrId

No

char[]

Unique cloud meeting room ID. The value cannot be changed. Enter the value returned by the meeting details query API.

joinConfRestrictionType

Yes

HwmJoinConfPermissionType

Users who are allowed to join the meeting. By default, everyone is allowed.

isSmsOn

Yes

bool

Whether to send SMS notifications. To use this function, enable it in the enterprise configuration. Otherwise, this parameter does not take effect.

isMailOn

Yes

bool

Whether to send an email notification.

isEmailCalendarOn

Yes

bool

Whether to send an email calendar.

attendees

Yes

HwmAttendeeInfo*

Participant list.

attendeeLen

Yes

unsigned int

Number of participants.

vmrConfIdType

Yes

HwmVmrConfIdType

ID type of the cloud meeting room. This parameter cannot be modified. If vmrConferenceId is not empty, this parameter is set to HWM_VMR_CONF_ID_TYPE_FIXED. Otherwise, it is set to HWM_VMR_CONF_ID_TYPE_RANDOM.

isOpenWaitingRoom

No

bool

Waiting room status.

NOTE:

The function takes effect only after the waiting room function is enabled.

allowGuestStartConf

No

bool

Whether to allow guests to join the meeting ahead of the host.

NOTE:

allowGuestStartConfTime

No

unsigned int

Time range for guests to join the meeting in advance, in minutes. 0: anytime before the scheduled time. n: n minutes before the scheduled time.

concurrentParticipants

No

unsigned int

Maximum number of participants in the meeting.

If this parameter is left blank, there is no restriction.

customInfo

No

char[]

Custom extension information.

defaultSummaryState

No

HwmSummaryState

Initial state of whether the cloud recording contains minutes.

autoMuteMode

No

HwmAutoMuteType

Whether soft client guests are automatically muted when they join the meeting.

hardTerminalAutoMuteMode

No

HwmAutoMuteType

Whether hard terminal guests are automatically muted when they join the meeting.

Return Values

Table 2 Return values

Type

Description

HwmErrCode

If 0 is returned, the operation is successful. If other values are returned, the operation fails. For details about values returned upon failures, see Common Error Codes.

Sample Code

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/**
* Edit a meeting.
*/
int demoEditConfDlg::EditConf()
{
    hwmsdkagent::HwmConfDetail confDetail{0}; // Obtain meeting details from the cache and assign them to confDetail.
    hwmsdkagent::HwmEditConfParam editConfParam{ 0 };
    // Copy the confDetail data as required.
    strncpy_s(editConfParam.confId, confDetail.confListInfo.confId, HWM_MAX_CONF_ID_LEN);
    editConfParam.vmrFlag = confDetail.vmrFlag;
    strncpy_s(editConfParam.vmrId, confInfo.vmrId, HWM_MAX_VMR_CONF_ID_LEN);
    // Part of the value assignment code is omitted here.
    editConfParam.timeZone = 56; // Local time zone. The value 56 indicates GMT+08:00.
    editConfParam.isRecordOn = false;
    editConfParam.isAutoRecordOn = false;
    editConfParam.startTime = 1598398920; // UTC timestamp
    editConfParam.duration = 0 * 60 + 30;// Meeting duration
    editConfParam.joinConfRestrictionType = hwmsdkagent::HwmJoinConfPermissionType::RESTRICTION_CALL_IN_ALL; // Obtain types of users who are allowed to join the meeting.
// If vmrConferenceId is not empty, the value is a fixed ID. Otherwise, the value is a random ID.
    editConfParam.vmrConfIdType = (strlen(confInfo.confListInfo.vmrConferenceId) != 0) ?
        hwmsdkagent::HwmVmrConfIdType::HWM_VMR_CONF_ID_TYPE_FIXED : hwmsdkagent::HwmVmrConfIdType::HWM_VMR_CONF_ID_TYPE_RANDOM;
    return hwmsdkagent::EditConf(&editConfParam);
}