Statistics
| Branch: | Revision:

root / asi-http-request-with-pithos / Classes / Pithos / ASIPithosSharingUser.m @ ca7626d7

History | View | Annotate | Download (3 kB)

1
//  ASIPithosSharingUser.m
2
//  pithos-macos
3
//
4
// Copyright 2013 GRNET S.A. All rights reserved.
5
//
6
// Redistribution and use in source and binary forms, with or
7
// without modification, are permitted provided that the following
8
// conditions are met:
9
// 
10
//   1. Redistributions of source code must retain the above
11
//      copyright notice, this list of conditions and the following
12
//      disclaimer.
13
// 
14
//   2. Redistributions in binary form must reproduce the above
15
//      copyright notice, this list of conditions and the following
16
//      disclaimer in the documentation and/or other materials
17
//      provided with the distribution.
18
// 
19
// THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
20
// OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
23
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
26
// USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
27
// AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
29
// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30
// POSSIBILITY OF SUCH DAMAGE.
31
// 
32
// The views and conclusions contained in the software and
33
// documentation are those of the authors and should not be
34
// interpreted as representing official policies, either expressed
35
// or implied, of GRNET S.A.
36

    
37
#import "ASIPithosSharingUser.h"
38

    
39
@implementation ASIPithosSharingUser
40
@synthesize name, group, permission;
41

    
42
+ (id)sharingUser {
43
	ASIPithosSharingUser *sharingUser = [[self alloc] init];
44
	return sharingUser;
45
}
46

    
47
+ (id)sharingUserWithName:(NSString *)aName group:(NSString *)aGroup permission:(NSString *)aPermission {
48
    ASIPithosSharingUser *sharingUser = [[self alloc] init];
49
    sharingUser.name = aName;
50
    sharingUser.group = aGroup;
51
    sharingUser.permission = aPermission;
52
    return sharingUser;
53
}
54

    
55
+ (id)sharingUserWithUser:(NSString *)aUser permission:(NSString *)aPermission {
56
    NSRange colonRange = [aUser rangeOfString:@":"];
57
    if (colonRange.location == NSNotFound) {
58
        return [self sharingUserWithName:aUser group:nil permission:aPermission];
59
    } else if (colonRange.location != aUser.length - 1) {
60
        return [self sharingUserWithName:[aUser substringToIndex:colonRange.location]
61
                                   group:[aUser substringFromIndex:(colonRange.location + 1)]
62
                              permission:aPermission];
63
    } else {
64
        return [self sharingUserWithName:[aUser substringToIndex:colonRange.location] group:nil permission:aPermission];
65
    }
66
}
67

    
68
- (id)copyWithZone:(NSZone *)zone {
69
    return [ASIPithosSharingUser sharingUserWithName:[name copy]
70
                                               group:[group copy]
71
                                          permission:[permission copy]];
72
}
73

    
74
@end