Example #1
0
 public FolderItem(FolderMetadata createdFolder) : base(createdFolder)
 {
     TypeIdentifier    = UTTypeHelper.GetFolderTypeIdentifier();
     this.Capabilities = NSFileProviderItemCapabilities.AddingSubItems
                         | NSFileProviderItemCapabilities.ContentEnumerating
                         | NSFileProviderItemCapabilities.Reading
                         | NSFileProviderItemCapabilities.Renaming
                         | NSFileProviderItemCapabilities.Deleting;
 }
        public FileItem(FileMetadata fileMetadata) : base(fileMetadata)
        {
            Size              = new NSNumber(fileMetadata.Size);
            TypeIdentifier    = UTTypeHelper.GetFileTypeIdentifier(fileMetadata.Name);
            this.Capabilities = NSFileProviderItemCapabilities.Writing
                                | NSFileProviderItemCapabilities.Deleting
                                | NSFileProviderItemCapabilities.Reading
                                | NSFileProviderItemCapabilities.Renaming
                                | NSFileProviderItemCapabilities.Reparenting;

            if (fileMetadata.HasUploadError)
            {
                this.Capabilities &= ~(NSFileProviderItemCapabilities.Renaming
                                       | NSFileProviderItemCapabilities.Reparenting);
            }

            IsDownloaded = fileMetadata.ExistsLocal;
            IsMostRecentVersionDownloaded = (fileMetadata.IsSyncByEtag && fileMetadata.ExistsLocal) || !fileMetadata.ExistsOnServer;
            IsUploaded     = !fileMetadata.HasUploadError && (fileMetadata.IsSyncByEtag || !fileMetadata.ExistsLocal);
            UploadingError = fileMetadata.LocalFile.UploadError;
        }