#import "SOGoObject.h"
-NSString *SOGoDefaultUserID = @"<default>";
-
@interface SOGoObject(Content)
- (NSString *)contentAsString;
@end
- (SOGoDAVSet *) davAcl
{
- NSArray *role;
- NSEnumerator *acls;
+ NSArray *roles;
+ NSEnumerator *uids;
NSMutableDictionary *aclsDictionary;
- NSDictionary *currentAcl;
+ NSString *currentUID;
SoClassSecurityInfo *sInfo;
- acls = [[self acls] objectEnumerator];
aclsDictionary = [NSMutableDictionary dictionary];
+ uids = [[self aclUsers] objectEnumerator];
sInfo = [[self class] soClassSecurityInfo];
- currentAcl = [acls nextObject];
- while (currentAcl)
+ currentUID = [uids nextObject];
+ while (currentUID)
{
- role = [NSArray arrayWithObject: [currentAcl objectForKey: @"role"]];
- [aclsDictionary setObject: [sInfo DAVPermissionsForRoles: role]
- forKey: [currentAcl objectForKey: @"uid"]];
- currentAcl = [acls nextObject];
+ roles = [self aclsForUser: currentUID];
+ [aclsDictionary setObject: [sInfo DAVPermissionsForRoles: roles]
+ forKey: currentUID];
+ currentUID = [uids nextObject];
}
[self _appendRolesForPseudoPrincipals: aclsDictionary
withClassSecurityInfo: sInfo];
/* acls */
-- (NSArray *) acls
+- (NSArray *) aclUsers
{
[self subclassResponsibility: _cmd];
return nil;
}
-- (NSArray *) defaultAclRoles
+- (void) setRoles: (NSArray *) roles
+ forUser: (NSString *) uid
{
[self subclassResponsibility: _cmd];
-
- return nil;
}
-- (void) setRoles: (NSArray *) roles
- forUser: (NSString *) uid
+- (void) removeAclsForUsers: (NSArray *) users
{
[self subclassResponsibility: _cmd];
}
-- (void) removeAclsForUsers: (NSArray *) users
+- (NSString *) defaultUserID
{
[self subclassResponsibility: _cmd];
+
+ return nil;
+}
+
+- (BOOL) hasSupportForDefaultRoles
+{
+ return NO;
}
/* description */