/* 反復規則属性。
* 指定しないと、エントリは 1 回だけのエントリになります。反復規則 D1 #3 は、
* エントリが毎日 3 日間繰り返されるよう指定します。
*/
attrs[i].name = CSA_ENTRY_ATTR_RECURRENCE_RULE;
attrs[i].value = &attr_val[i];
attrs[i].attribute_extensions = NULL;
attr_val[i].type = CSA_VALUE_STRING;
attr_val[i].item.string_value = argv7;
i++;
/* オーディオ通知属性。
* 通知プログラムのリード・タイムは、ISO 8601 規格にある CSA_time_duration の値で
* 指定します。
* たとえば、5 分間のリード・タイムは、文字列 +PT300S と表します。
* マイナス 5 分間のリード・タイムは、-PT300S と表します。
*/
attrs[i].name = CSA_ENTRY_ATTR_AUDIO_REMINDER;
attrs[i].value = &attr_val[i];
attrs[i].attribute_extensions = NULL;
attr_val[i].type = CSA_VALUE_REMINDER;
attr_val[i].item.reminder_value = &audio;
memset((void *)&audio, NULL, sizeof(audio));
audio.lead_time = "+PT300S"; i++;
/* メール通知属性。
* 電子メール・アドレスは、reminder_data フィールドに指定します。
* この通知プログラムのリード・タイムは 1 日。
*/
attrs[i].name = CSA_ENTRY_ATTR_MAIL_REMINDER;
attrs[i].value = &attr_val[i];
attrs[i].attribute_extensions = NULL;
attr_val[i].type = CSA_VALUE_REMINDER;
attr_val[i].item.reminder_value = &mail;
memset((void *)&mail, NULL, sizeof(mail));
mail.lead_time = "+PT86400S";
mail.reminder_data.data = "someuser@somehost";
mail.reminder_data.size = strlen(mail.reminder_data.data);
i++;
/* 指定した属性値でエントリを追加します */
stat = csa_add_entry(cal, i, attrs, &newentry, NULL);
if (stat == CSA_SUCCESS)
csa_free((CSA_buffer)newentry);
|