1 /*
2   Copyright (C) 2006-2016 Inverse inc.
3   Copyright (C) 2004-2005 SKYRIX Software AG
4 
5   This file is part of SOGo.
6 
7   SOGo is free software; you can redistribute it and/or modify it under
8   the terms of the GNU Lesser General Public License as published by the
9   Free Software Foundation; either version 2, or (at your option) any
10   later version.
11 
12   SOGo is distributed in the hope that it will be useful, but WITHOUT ANY
13   WARRANTY; without even the implied warranty of MERCHANTABILITY or
14   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
15   License for more details.
16 
17   You should have received a copy of the GNU Lesser General Public
18   License along with OGo; see the file COPYING.  If not, write to the
19   Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
20   02111-1307, USA.
21 */
22 
23 #ifndef __SOGo_SOGoUserFolder_H__
24 #define __SOGo_SOGoUserFolder_H__
25 
26 #import "SOGoFolder.h"
27 
28 /*
29   SOGoUserFolder
30     Parent object: the root object (SoApplication object)
31     Child objects:
32       'Calendar': SOGoAppointmentFolder
33 
34   The SOGoUserFolder is the "home directory" of the user where all their
35   processing starts. It is the 'znek' in such a path:
36     /SOGo/so/znek/Calendar
37 */
38 
39 @class NSArray;
40 @class NSDictionary;
41 @class NSString;
42 @class WOContext;
43 @class SOGoAppointmentFolders;
44 @class SOGoContactFolders;
45 
46 @interface SOGoUserFolder : SOGoFolder
47 
48 /* ownership */
49 
50 - (NSArray *) foldersOfType: (NSString *) folderType
51 		     forUID: (NSString *) uid;
52 - (NSDictionary *) foldersOfType: (NSString *) type
53 		     matchingUID: (NSString *) uid;
54 
55 - (id) freeBusyObject: (NSString *) _key
56             inContext: (WOContext *) _ctx;
57 
58 - (id) mailAccountsFolder: (NSString *) _key
59                 inContext: (WOContext *) _ctx;
60 
61 - (BOOL) collectionDavKey: (NSString *) key
62 		  matches: (NSString *) value;
63 
64 - (SOGoAppointmentFolders *) privateCalendars: (NSString *) key
65 				    inContext: (WOContext *) localContext;
66 
67 - (SOGoContactFolders *) privateContacts: (NSString *) _key
68                                inContext: (WOContext *) _ctx;
69 
70 @end
71 
72 #endif /* __SOGo_SOGoUserFolder_H__ */
73