Updated on 2023-03-23 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 parameters

Parameter

Mandatory

Type

Description

confId

Yes

char[]

Meeting ID.

subject

Yes

char[]

Meeting topic.

startTime

Yes

long long

Timestamp of the meeting start time (UTC time), 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 in a cloud meeting room. The value cannot be changed. Enter the value returned by the meeting details query API.

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

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

isSmsOn

Yes

bool

Whether to send SMS notifications. This function must be enabled in the enterprise configuration. Otherwise, this function 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

Whether to enable the waiting room.

NOTE:

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

allowGuestStartConf

No

bool

Whether to allow a guest to start a meeting in advance.

NOTE:

allowGuestStartConfTime

No

unsigned int

Time range for a guest to join a meeting in advance, in minutes. The options are as follows: 0: at any time; n: n minutes in advance.

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);
}