root / pithos-macos / PithosAccount.h @ 02b6ea19
History | View | Annotate | Download (4.2 kB)
1 | d8426ffb | Miltiadis Vasilakis | //
|
---|---|---|---|
2 | d8426ffb | Miltiadis Vasilakis | // PithosAccount.h
|
3 | d8426ffb | Miltiadis Vasilakis | // pithos-macos
|
4 | d8426ffb | Miltiadis Vasilakis | //
|
5 | d8426ffb | Miltiadis Vasilakis | // Copyright 2012 GRNET S.A. All rights reserved.
|
6 | d8426ffb | Miltiadis Vasilakis | //
|
7 | d8426ffb | Miltiadis Vasilakis | // Redistribution and use in source and binary forms, with or
|
8 | d8426ffb | Miltiadis Vasilakis | // without modification, are permitted provided that the following
|
9 | d8426ffb | Miltiadis Vasilakis | // conditions are met:
|
10 | d8426ffb | Miltiadis Vasilakis | //
|
11 | d8426ffb | Miltiadis Vasilakis | // 1. Redistributions of source code must retain the above
|
12 | d8426ffb | Miltiadis Vasilakis | // copyright notice, this list of conditions and the following
|
13 | d8426ffb | Miltiadis Vasilakis | // disclaimer.
|
14 | d8426ffb | Miltiadis Vasilakis | //
|
15 | d8426ffb | Miltiadis Vasilakis | // 2. Redistributions in binary form must reproduce the above
|
16 | d8426ffb | Miltiadis Vasilakis | // copyright notice, this list of conditions and the following
|
17 | d8426ffb | Miltiadis Vasilakis | // disclaimer in the documentation and/or other materials
|
18 | d8426ffb | Miltiadis Vasilakis | // provided with the distribution.
|
19 | d8426ffb | Miltiadis Vasilakis | //
|
20 | d8426ffb | Miltiadis Vasilakis | // THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
|
21 | d8426ffb | Miltiadis Vasilakis | // OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
22 | d8426ffb | Miltiadis Vasilakis | // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
23 | d8426ffb | Miltiadis Vasilakis | // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
|
24 | d8426ffb | Miltiadis Vasilakis | // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
25 | d8426ffb | Miltiadis Vasilakis | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
26 | d8426ffb | Miltiadis Vasilakis | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
27 | d8426ffb | Miltiadis Vasilakis | // USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
28 | d8426ffb | Miltiadis Vasilakis | // AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
29 | d8426ffb | Miltiadis Vasilakis | // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
30 | d8426ffb | Miltiadis Vasilakis | // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
31 | d8426ffb | Miltiadis Vasilakis | // POSSIBILITY OF SUCH DAMAGE.
|
32 | d8426ffb | Miltiadis Vasilakis | //
|
33 | d8426ffb | Miltiadis Vasilakis | // The views and conclusions contained in the software and
|
34 | d8426ffb | Miltiadis Vasilakis | // documentation are those of the authors and should not be
|
35 | d8426ffb | Miltiadis Vasilakis | // interpreted as representing official policies, either expressed
|
36 | d8426ffb | Miltiadis Vasilakis | // or implied, of GRNET S.A.
|
37 | d8426ffb | Miltiadis Vasilakis | |
38 | d8426ffb | Miltiadis Vasilakis | #import <Foundation/Foundation.h>
|
39 | d8426ffb | Miltiadis Vasilakis | @class PithosSyncDaemon;
|
40 | d8426ffb | Miltiadis Vasilakis | @class ASIPithos;
|
41 | d8426ffb | Miltiadis Vasilakis | @class PithosAccountNode;
|
42 | d8426ffb | Miltiadis Vasilakis | |
43 | d8426ffb | Miltiadis Vasilakis | @interface PithosAccount : NSObject <NSCoding> {
|
44 | d8426ffb | Miltiadis Vasilakis | NSString *uniqueName; |
45 | d8426ffb | Miltiadis Vasilakis | BOOL active; |
46 | d8426ffb | Miltiadis Vasilakis | NSString *name; |
47 | d8426ffb | Miltiadis Vasilakis | |
48 | d8426ffb | Miltiadis Vasilakis | BOOL syncActive; |
49 | d8426ffb | Miltiadis Vasilakis | NSString *syncDirectoryPath; |
50 | 02b6ea19 | Miltiadis Vasilakis | NSMutableDictionary *syncContainersDictionary; |
51 | d8426ffb | Miltiadis Vasilakis | NSDate *syncLastCompleted; |
52 | d8426ffb | Miltiadis Vasilakis | PithosSyncDaemon *syncDaemon; |
53 | d8426ffb | Miltiadis Vasilakis | |
54 | 02b6ea19 | Miltiadis Vasilakis | // Base for all necessary URLs, default "https://pithos.okeanos.grnet.gr"
|
55 | d8426ffb | Miltiadis Vasilakis | NSString *serverURL; |
56 | d8426ffb | Miltiadis Vasilakis | // Appended to serverURL to get storageURLPrefix and authURL, default "v1"
|
57 | d8426ffb | Miltiadis Vasilakis | // Can be overriden by setting directly storageURLPrefix and authURL
|
58 | d8426ffb | Miltiadis Vasilakis | NSString *versionResource; |
59 | d8426ffb | Miltiadis Vasilakis | // Appended to serverURL to get loginURLPrefix, default "login"
|
60 | d8426ffb | Miltiadis Vasilakis | // Can be overriden by setting directly loginURLPrefix
|
61 | d8426ffb | Miltiadis Vasilakis | NSString *loginResource; |
62 | d8426ffb | Miltiadis Vasilakis | // Appended to serverURL to get publicURLPrefix, default nil
|
63 | d8426ffb | Miltiadis Vasilakis | // Can be overriden by setting directly publicURLPrefix
|
64 | d8426ffb | Miltiadis Vasilakis | NSString *publicResource; |
65 | d8426ffb | Miltiadis Vasilakis | |
66 | d8426ffb | Miltiadis Vasilakis | NSString *authUser; |
67 | d8426ffb | Miltiadis Vasilakis | NSString *authToken; |
68 | d8426ffb | Miltiadis Vasilakis | NSString *storageURLPrefix; |
69 | d8426ffb | Miltiadis Vasilakis | NSString *authURL; |
70 | d8426ffb | Miltiadis Vasilakis | NSString *publicURLPrefix; |
71 | d8426ffb | Miltiadis Vasilakis | NSString *loginURLPrefix; |
72 | d8426ffb | Miltiadis Vasilakis | |
73 | d8426ffb | Miltiadis Vasilakis | ASIPithos *pithos; |
74 | d8426ffb | Miltiadis Vasilakis | PithosAccountNode *accountNode; |
75 | d8426ffb | Miltiadis Vasilakis | |
76 | d8426ffb | Miltiadis Vasilakis | BOOL updatePithos; |
77 | d8426ffb | Miltiadis Vasilakis | BOOL resetSyncDaemonLocalState; |
78 | d8426ffb | Miltiadis Vasilakis | } |
79 | d8426ffb | Miltiadis Vasilakis | |
80 | d8426ffb | Miltiadis Vasilakis | @property (nonatomic, retain) NSString *uniqueName;
|
81 | d8426ffb | Miltiadis Vasilakis | @property (assign) BOOL active;
|
82 | d8426ffb | Miltiadis Vasilakis | @property (nonatomic, retain) NSString *name;
|
83 | d8426ffb | Miltiadis Vasilakis | |
84 | d8426ffb | Miltiadis Vasilakis | @property (nonatomic, assign) BOOL syncActive;
|
85 | d8426ffb | Miltiadis Vasilakis | @property (nonatomic, retain) NSString *syncDirectoryPath;
|
86 | 02b6ea19 | Miltiadis Vasilakis | @property (nonatomic, retain) NSMutableDictionary *syncContainersDictionary;
|
87 | d8426ffb | Miltiadis Vasilakis | @property (nonatomic, retain) NSDate *syncLastCompleted;
|
88 | d8426ffb | Miltiadis Vasilakis | @property (nonatomic, retain) PithosSyncDaemon *syncDaemon;
|
89 | d8426ffb | Miltiadis Vasilakis | |
90 | d8426ffb | Miltiadis Vasilakis | @property (nonatomic, retain) NSString *serverURL;
|
91 | d8426ffb | Miltiadis Vasilakis | @property (retain) NSString *versionResource;
|
92 | d8426ffb | Miltiadis Vasilakis | @property (retain) NSString *loginResource;
|
93 | d8426ffb | Miltiadis Vasilakis | @property (retain) NSString *publicResource;
|
94 | d8426ffb | Miltiadis Vasilakis | |
95 | d8426ffb | Miltiadis Vasilakis | @property (nonatomic, retain) NSString *authUser;
|
96 | d8426ffb | Miltiadis Vasilakis | @property (nonatomic, retain) NSString *authToken;
|
97 | d8426ffb | Miltiadis Vasilakis | @property (nonatomic, retain) NSString *storageURLPrefix;
|
98 | d8426ffb | Miltiadis Vasilakis | @property (nonatomic, retain) NSString *authURL;
|
99 | d8426ffb | Miltiadis Vasilakis | @property (nonatomic, retain) NSString *publicURLPrefix;
|
100 | d8426ffb | Miltiadis Vasilakis | @property (nonatomic, retain) NSString *loginURLPrefix;
|
101 | d8426ffb | Miltiadis Vasilakis | |
102 | d8426ffb | Miltiadis Vasilakis | @property (readonly) ASIPithos *pithos;
|
103 | d8426ffb | Miltiadis Vasilakis | @property (readonly) PithosAccountNode *accountNode;
|
104 | d8426ffb | Miltiadis Vasilakis | |
105 | d8426ffb | Miltiadis Vasilakis | + (id)pithosAccount; |
106 | d8426ffb | Miltiadis Vasilakis | |
107 | d8426ffb | Miltiadis Vasilakis | - (BOOL)urlIsValid:(NSString *)urlString; |
108 | d8426ffb | Miltiadis Vasilakis | - (void)authenticateWithServerURL:(NSString *)aServerURL authUser:(NSString *)anAuthUser authToken:(NSString *)anAuthToken;
|
109 | d8426ffb | Miltiadis Vasilakis | - (void)loginWithServerURL:(NSString *)aServerURL;
|
110 | d8426ffb | Miltiadis Vasilakis | - (void)updateSyncWithSyncActive:(BOOL)aSyncActive syncDirectoryPath:(NSString *)aSyncDirectoryPath;
|
111 | d8426ffb | Miltiadis Vasilakis | |
112 | d8426ffb | Miltiadis Vasilakis | @end |