2010-11-15 2 views
2

Je suis en train de jouer avec MacFUSE, et c'est plutôt joli. (J'utilise l'API Objective-C.)Un système de fichiers MacFUSE peut-il prendre en charge les répertoires "virtuels"?

J'essaye actuellement de construire un système de fichiers qui permet de classer les fichiers par étiquettes. C'est-à-dire, je prendrais un répertoire avec une structure plate (et peut-être beaucoup de dossier), et le déplacement d'un dossier dans un répertoire attacherait simplement une étiquette à lui (sans réellement le déplacer). Lorsque vous entrez dans ce répertoire, vous verrez tous les fichiers qui ont ce tag. Vous pouvez également vous déplacer dans des sous-répertoires, ce qui ne donnerait que des fichiers contenant tous les tags.

Le problème est qu'il peut y avoir beaucoup de balises, et je n'aime pas vraiment lister les répertoires "faux" pour les balises (d'autant que cela signifie aussi que je dois leur fournir des attributs). Cependant, il semble impossible d'ouvrir des fichiers ou des répertoires qui ne sont pas répertoriés par contentsOfDirectoryAtPath:error. Est-ce que je manque une méthode de délégation pratique, ou dois-je vraiment lister les répertoires de balises?

Répondre

1

Il s'avère que ce que MacFuse voulait vraiment, c'était des attributs pour les dossiers, et mon attributesOfItemAtPath:(NSString *)path userData:(id)userData error:(NSError **)error ne leur en donnait pas.

Donner le seul attribut obligatoire pour les dossiers (NSFileType: NSDirectoryFileType) semble fonctionner "assez bien". Autrement dit, les dossiers ont un état d'existence plutôt faible (des variations anecdotiques dans le Finder font que le dossier "disparaît" et que la fenêtre revient à la racine du système de fichiers), mais dans le Terminal, cela fonctionne.

Questions connexes