//
//  DropboxModel.h
//  PDF Reader
//
//  Created by HuFeng on 13-3-27.
//  Copyright (c) 2013年 zhangjie. All rights reserved.
//

#import <Foundation/Foundation.h>

static NSString* kUpdateUserName = @"updateUserName";

@protocol DropboxModelDelegate <NSObject>

@optional

- (void)updateAccountInfo:(NSString *)userName;

- (void)cancelUpLoadProgressBar;

- (void)updateUploadProgressBar:(float)value
                    withMessage:(NSString *)message
                leftFilesString:(NSString *)filesString;

@end

@class DBOAuthResult;
@interface DropboxModel : NSObject
{
//    id <DropboxModelDelegate> objectDelegate;
    NSString *_appKey;
    NSString *_appSecret;
    NSString *_root;
    NSArray *_filePathArray;
    NSString   *_currentUploadPath;
    float      _progressValue;
    NSString *_userName;
    NSString *_syncDate;
}

@property (assign) id <DropboxModelDelegate> objectDelegate;
@property (nonatomic,retain) NSArray *filePathArray;
@property (nonatomic,retain) NSString *currentUploadPath;
@property (nonatomic,retain) NSString *userName;
@property (nonatomic,retain) NSString *syncDate;
@property (nonatomic,retain) NSString *userEmail;

+ (DropboxModel *)shared;

- (void)handleAppleEvent:(NSAppleEventDescriptor *)event withReplyEvent:(NSAppleEventDescriptor *)replyEvent;

- (void)handleAuthResult:(DBOAuthResult * _Nullable)authResult;

// 上传文件到 Dropbox 根目录
- (BOOL)uploadFile:(NSArray *)filePathArray;
- (void)cancleUploadFile;
- (void)unlinkAll;
- (BOOL)isLinked;
- (void)linkServer;

@end