/**
 * VCTransferableFile.h: Vacuum
 * Created by Jiří Urbášek on 9/29/12.
 *
 * Copyright (c) 2012, Arat. All rights reserved.
 *
 * This source code can be used only for purposes specified
 * by the given license contract signed by the rightful deputy of Arat.
 * This source code can be used only by the owner of the license.
 *
 * Any disputes arising in respect of this agreement (license) shall be brought
 * before the Municipal Court of Prague.
 */

#import <Foundation/Foundation.h>


typedef NS_ENUM(NSInteger, VCTransferableItemSource) {
    VCTransferableItemSourceFile = 0,
    VCTransferableItemSourceClipboard
};


@protocol VCTransferableItem <NSObject>

@property (nonatomic, strong) NSString *name; // including extension
@property (nonatomic, strong) NSString *mimeType; // text/plain
@property (nonatomic, assign) unsigned long long size; // in bytes
@property (nonatomic, assign, getter = isBeingEdited) BOOL beingEdited;
@property (nonatomic, assign, getter = isBeingDownloaded, readonly) BOOL beingDownloaded; // YES if download is in progress, default NO

@property (nonatomic, assign) VCTransferableItemSource source; // default file
@property (nonatomic, assign, readonly) BOOL backgroundFetch;

// file
@property (nonatomic, strong) NSString *filePath; // path to file in file system
@property (nonatomic, strong) NSDate *fileDateCreated;

@property (nonatomic, strong) NSDictionary *attributes;

// clipboard
@property (nonatomic, strong) NSData *content; // used mostly for clipboard item

@end


@interface VCTransferableItem : NSObject <VCTransferableItem>

@end
