Updated on 2023-03-23 GMT+08:00

Editing a Recurring Meeting Series

ModifyCycleConf

API Description

This API is used to edit a recurring meeting series.

Precautions

  1. Call this API after login.
  2. 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.
  3. All fields are mandatory. Specify the fields to be edited as required, and assign values in the meeting details to remaining fields.

Method Definition

1
HWM_SDK_AGENT_API hwmsdk::HwmErrCode ModifyCycleConf(const HwmModifyCycleConfParam *modifyParam);

Callback Function

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

Parameter Description

Table 1 HwmModifyCycleConfParam parameters

Parameter

Mandatory

Type

Description

editConfParam

Yes

HwmEditConfParam

Parameters for editing the recurring meeting.

cycleParam

Yes

HwmCycleConfParam

Recurring meeting series parameters.

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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/**
* Edit a recurring meeting series.
*/
int demoEditConfDlg::ModifyCycleConf()
{
    hwmsdkagent::HwmConfDetail confDetail{}; // Obtain meeting details from the cache and assign them to confDetail.
    hwmsdkagent::HwmEditConfParam editConfParam{};
    // 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 zome. The value 56 indicates GMT+08:00.
    editConfParam.isRecordOn = false;
    editConfParam.isAutoRecordOn = false;
    editConfParam.startTime = 1633017600; // 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. If vmrConferenceId is empty, 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;
    editConfParam.allowGuestStartConf = false;
    editConfParam.allowGuestStartConfTime = 0;

    hwmsdkagent::HwmCycleConfParam cycleConfParam{};
    cycleConfParam.startDate = 1633017600; // UTC timestamp, in seconds. If the obtained time is the local time, the time needs to be converted to the UTC time.
    cycleConfParam.endDate= 1636560000; // UTC timestamp, in seconds. If the local time is obtained, convert it to the UTC time.
    cycleConfParam.cycleType = 1;
    strcpy_s(cycleConfParam.listPoints, sizeof(cycleConfParam.listPoints), "5"); // Friday
    cycleConfParam.preRemindDays = 1;
    cycleConfParam.interval = 1;
 
    hwmsdkagent::HwmModifyCycleConfParam editCycleConfParam{};
    editCycleConfParam.editConfParam = editConfParam;
    editCycleConfParam.cycleParam = cycleConfParam;
    
    return hwmsdkagent::ModifyCycleConf(&editCycleConfParam);
}