1 /* SOGoCacheGCSFolder.h - this file is part of SOGo
2  *
3  * Copyright (C) 2012-2014 Inverse inc.
4  *
5  * This file is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 3, or (at your option)
8  * any later version.
9  *
10  * This file is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; see the file COPYING.  If not, write to
17  * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18  * Boston, MA 02111-1307, USA.
19  */
20 
21 #ifndef SOGOCACHEGCSFOLDER_H
22 #define SOGOCACHEGCSFOLDER_H
23 
24 #import "SOGoCacheGCSObject.h"
25 
26 @class NSArray;
27 @class NSMutableString;
28 @class NSString;
29 @class NSURL;
30 
31 @class EOQualifier;
32 
33 @interface SOGoCacheGCSFolder : SOGoCacheGCSObject
34 {
35   NSString *pathPrefix; /* for root folders */
36   SOGoCacheGCSObject *aclMessage;
37 }
38 
39 - (void) setPathPrefix: (NSString *) newPathPrefix;
40 
41 - (NSMutableString *) pathForChild: (NSString *) childName;
42 
43 - (void) addUserInAcls: (NSString *) user;
44 
45 - (NSArray *) toOneRelationshipKeys;
46 - (NSArray *) toManyRelationshipKeys;
47 
48 - (NSArray *) childKeysOfType: (SOGoCacheObjectType) type
49                includeDeleted: (BOOL) includeDeleted
50             matchingQualifier: (EOQualifier *) qualifier
51              andSortOrderings: (NSArray *) sortOrderings;
52 
53 - (void) changePathTo: (NSString *) newPath;
54 - (void) changePathTo: (NSString *) newPath
55      intoNewContainer: (id) newContainer;
56 
57 @end
58 
59 #endif /* SOGOCACHEGCSFOLDER_H */
60