@interface PithosSyncDaemon : NSObject {
NSString *directoryPath;
PithosAccount *pithosAccount;
- NSString *containerName;
+ NSDictionary *containersDictionary;
ASIPithos *pithos;
-
- NSString *blockHash;
- NSUInteger blockSize;
- NSDate *lastModified;
+
+ NSUInteger containersCount;
+ NSMutableArray *pithosContainers;
+ NSUInteger containersIndex;
+
NSMutableArray *objects;
NSMutableDictionary *remoteObjects;
+ NSMutableDictionary *previousRemoteObjects;
NSMutableDictionary *storedLocalObjectStates;
NSMutableDictionary *currentLocalObjectStates;
- NSString *containerDirectoryPath;
NSString *pithosStateFilePath;
NSString *tempDownloadsDirPath;
NSString *tempTrashDirPath;
@property (nonatomic, retain) NSString *directoryPath;
@property (nonatomic, retain) PithosAccount *pithosAccount;
-@property (nonatomic, retain) NSString *containerName;
+@property (nonatomic, retain) NSDictionary *containersDictionary;
@property (nonatomic, retain) ASIPithos *pithos;
-@property (nonatomic, retain) NSString *blockHash;
-@property (nonatomic, assign) NSUInteger blockSize;
-@property (nonatomic, retain) NSDate *lastModified;
+@property (nonatomic, retain) NSMutableArray *pithosContainers;
+
@property (nonatomic, retain) NSMutableDictionary *remoteObjects;
+@property (nonatomic, retain) NSMutableDictionary *previousRemoteObjects;
@property (nonatomic, retain) NSMutableDictionary *storedLocalObjectStates;
@property (nonatomic, retain) NSMutableDictionary *currentLocalObjectStates;
-@property (nonatomic, retain) NSString *containerDirectoryPath;
@property (nonatomic, readonly) NSString *pithosStateFilePath;
@property (nonatomic, readonly) NSString *tempDownloadsDirPath;
@property (nonatomic, readonly) NSString *tempTrashDirPath;
@property (nonatomic, retain) NSDate *lastCompletedSync;
+// containersDictionary contains entries with keys the container names that should be included
+// and values NSArrays that contain the directory names that should be excluded
+// An empty string denotes that file objects in the container root should be excluded
- (id)initWithDirectoryPath:(NSString *)aDirectoryPath
pithosAccount:(PithosAccount *)aPithosAccount
- containerName:(NSString *)aContainerName
+ containersDictionary:(NSMutableDictionary *)aContainersDictionary
resetLocalState:(BOOL)resetLocalState;
- (void)resetDaemon;