![]() |
![]() |
![]() |
Evolution Connector for Microsoft Exchange Programmer’s Reference Manual | ![]() |
---|---|---|---|---|
Top | Description |
struct E2kSecurityDescriptor; E2kSecurityDescriptor * e2k_security_descriptor_new (xmlNodePtr xml_form
,GByteArray *binary_form
); GByteArray * e2k_security_descriptor_to_binary (E2kSecurityDescriptor *sd
); GList * e2k_security_descriptor_get_sids (E2kSecurityDescriptor *sd
); E2kSid * e2k_security_descriptor_get_default (E2kSecurityDescriptor *sd
); void e2k_security_descriptor_remove_sid (E2kSecurityDescriptor *sd
,E2kSid *sid
); enum E2kPermissionsRole; const gchar * e2k_permissions_role_get_name (E2kPermissionsRole role
); guint32 e2k_permissions_role_get_perms (E2kPermissionsRole role
); E2kPermissionsRole e2k_permissions_role_find (guint perms
); guint32 e2k_security_descriptor_get_permissions (E2kSecurityDescriptor *sd
,E2kSid *sid
); void e2k_security_descriptor_set_permissions (E2kSecurityDescriptor *sd
,E2kSid *sid
,guint32 perms
); #define E2K_PERMISSION_READ_ANY #define E2K_PERMISSION_CREATE #define E2K_PERMISSION_EDIT_OWNED #define E2K_PERMISSION_DELETE_OWNED #define E2K_PERMISSION_EDIT_ANY #define E2K_PERMISSION_DELETE_ANY #define E2K_PERMISSION_CREATE_SUBFOLDER #define E2K_PERMISSION_OWNER #define E2K_PERMISSION_CONTACT #define E2K_PERMISSION_FOLDER_VISIBLE #define E2K_PERMISSION_EDIT_MASK #define E2K_PERMISSION_DELETE_MASK
struct E2kSecurityDescriptor { GObject parent; E2kSecurityDescriptorPrivate *priv; };
E2kSecurityDescriptor * e2k_security_descriptor_new (xmlNodePtr xml_form
,GByteArray *binary_form
);
Constructs an E2kSecurityDescriptor from the data in xml_form
and
binary_form
.
|
the XML form of the folder's security descriptor
(The "http://schemas.microsoft.com/exchange/security/descriptor"
property, aka E2K_PR_EXCHANGE_SD_XML ) |
|
the binary form of the folder's security descriptor
(The "http://schemas.microsoft.com/exchange/ntsecuritydescriptor"
property, aka E2K_PR_EXCHANGE_SD_BINARY ) |
Returns : |
the security descriptor, or NULL if the data could
not be parsed. |
GByteArray * e2k_security_descriptor_to_binary (E2kSecurityDescriptor *sd
);
Converts sd
back to binary (E2K_PR_EXCHANGE_SD_BINARY) form
so it can be PROPPATCHed back to the server.
|
an E2kSecurityDescriptor |
Returns : |
the binary form of sd . |
GList * e2k_security_descriptor_get_sids (E2kSecurityDescriptor *sd
);
Returns a GList containing the SIDs of each user or group
represented in sd
. You can pass these SIDs to
e2k_security_descriptor_get_permissions()
,
e2k_security_descriptor_set_permissions()
, and
e2k_security_descriptor_remove_sid()
.
|
a security descriptor |
Returns : |
a list of SIDs. The caller must free the list
with g_list_free() , but should not free the contents. |
E2kSid * e2k_security_descriptor_get_default (E2kSecurityDescriptor *sd
);
Returns an E2kSid corresponding to the default permissions
associated with sd
. You can pass this to
e2k_security_descriptor_get_permissions()
and
e2k_security_descriptor_set_permissions()
.
|
a security descriptor |
Returns : |
the "Default" SID |
void e2k_security_descriptor_remove_sid (E2kSecurityDescriptor *sd
,E2kSid *sid
);
Removes sid
from sd
. If sid
is a user, this means s/he will now
have only the default permissions on sd
(unless s/he is a member
of a group that is also present in sd
.)
|
a security descriptor |
|
a SID |
typedef enum { E2K_PERMISSIONS_ROLE_OWNER, E2K_PERMISSIONS_ROLE_PUBLISHING_EDITOR, E2K_PERMISSIONS_ROLE_EDITOR, E2K_PERMISSIONS_ROLE_PUBLISHING_AUTHOR, E2K_PERMISSIONS_ROLE_AUTHOR, E2K_PERMISSIONS_ROLE_NON_EDITING_AUTHOR, E2K_PERMISSIONS_ROLE_REVIEWER, E2K_PERMISSIONS_ROLE_CONTRIBUTOR, E2K_PERMISSIONS_ROLE_NONE, E2K_PERMISSIONS_ROLE_NUM_ROLES, E2K_PERMISSIONS_ROLE_CUSTOM = -1 } E2kPermissionsRole;
const gchar * e2k_permissions_role_get_name (E2kPermissionsRole role
);
Returns the localized name corresponding to role
|
a permissions role |
Returns : |
the name |
guint32 e2k_permissions_role_get_perms (E2kPermissionsRole role
);
Returns the MAPI permissions associated with role
. role
may not
be E2K_PERMISSIONS_ROLE_CUSTOM
.
|
a permissions role |
Returns : |
the MAPI permissions |
E2kPermissionsRole e2k_permissions_role_find (guint perms
);
Finds the E2kPermissionsRole value associated with perms
. If
perms
don't describe any standard role, the return value will be
E2K_PERMISSIONS_ROLE_CUSTOM
|
MAPI permissions |
Returns : |
the role |
guint32 e2k_security_descriptor_get_permissions (E2kSecurityDescriptor *sd
,E2kSid *sid
);
Computes the MAPI permissions associated with sid
. (Only the
permissions *directly* associated with sid
, not any acquired via
group memberships or the Default SID.)
|
a security descriptor |
|
a SID |
Returns : |
the MAPI permissions |
void e2k_security_descriptor_set_permissions (E2kSecurityDescriptor *sd
,E2kSid *sid
,guint32 perms
);
Updates or sets sid
's permissions on sd
.
|
a security descriptor |
|
a SID |
|
the MAPI permissions |
#define E2K_PERMISSION_EDIT_MASK (E2K_PERMISSION_EDIT_ANY | E2K_PERMISSION_EDIT_OWNED)