#include <csa/csa.h>
CSA_access_rights *setup_access_list() {
CSA_access_rights *ptr1, *ptr2;
/* 任意のユーザに、公開および非公開エントリを表示する許可を与え、
* ユーザ user1 に、公開エントリを表示し、挿入する許可を与えます。
* 特別なユーザ名 world は任意のユーザを意味します。
*/
ptr2 = (CSA_access_rights *)calloc(1, sizeof(CSA_access_rights));
ptr2->user = (CSA_calendar_user *)calloc(1, sizeof(CSA_calendar_user));
ptr2->user->user_name = strdup("world");
ptr2->user->user_type = CSA_USER_TYPE_INDIVIDUAL;
ptr2->flags = CSA_VIEW_PUBLIC_ENTRIES | CSA_VIEW_CONFIDENTIAL_ENTRIES;
ptr1 = (CSA_access_rights *)calloc(1, sizeof(CSA_access_rights));
ptr1->user = (CSA_calendar_user *)calloc(1, sizeof(CSA_calendar_user));
ptr1->user->user_name = strdup("user1");
ptr1->user->user_type = CSA_USER_TYPE_INDIVIDUAL;
ptr1->flags = CSA_VIEW_PUBLIC_ENTRIES | CSA_INSERT_PUBLIC_ENTRIES;
ptr1->next = ptr2;
}
void destroy_access_list(CSA_access_rights *list)
{
CSA_access_rights *ptr;
while (list != NULL) {
ptr = list->next;
if (list->user) {
if (list->user->user_name)
free(list->user->user_name);
free(list->user);
} free(list);
list = ptr;
}
}
add_calendar()
{
CSA_return_code stat;
CSA_calendar_user caddr;
CSA_attribute attr;
CSA_attribute_value attr_val;
|