verzeichnis-struktur parsen

  • verzeichnis-struktur parsen

    hallo leute,

    habe endlich wieder etwas zeit, mich mit obj-c zu beschäftigen und will in dem zusammenhang ein bereits vor längerer zeit angedachtes projekt in angriff nehmen.
    dabei handelt es sich um ein cd/dvd/hd-katalogisierungsprogramm (ich weiss, es gibt einige, aber entweder kosten sie geld, oder sie funktionieren nicht so, wie ich's gern hätte).
    gerade habe ich etwas gesucht, wie man in cocoa ein verzeichnis parst und bin auf den nsdirectoryenumerator gestossen. das ist schonmal ganz nett, aber gibt's vielleicht was "besseres", das auch gleich die icons extrahiert (wenn's ein spezielles hat)?

    gruss
    confusion
    There will always be skeptics.
    There will always be disbelievers.
    And there will always be Apple to prove them wrong.
  • RE: verzeichnis-struktur parsen

    Ich habe mich auch gerade damit beschäftigt. Hier ein paar Tips/Anregungen:

    - Verzeichnisinhalt mit [[NSFileManager defaultManager] directoryContentsAtPath: <pfad>] feststellen
    - Anzeige Name über LSCopyDisplayNameForRef
    - Größe (resource folk, data folk) über FSGetCatalogInfo
    - Ob ein Verzeichnis ein Package ist: [[NSWorkspace sharedWorkspace] isFilePackageAtPath: <pfad>]
    - String für Datei-Typ (z.B. "Simple Text Document"): LSCopyKindStringForRef

    Die "LaunchServices" (Funktionsnamen sind LS...) bieten noch weitere Funktionalitäten, die teils von NSWorkspace abgedeckt werden. Deren Funktionen finden sich leider nicht in den Dev-Dokus, sind aber im Header "LaunchServices.h" erläutert.
    Dort gibt's auch eine Methode, um das Icon für eine Datei zu erhalten.

    Ein bißchen problematisch ist es, herauszufinden, ob ein FSRef ein gemountete Volumes angibt (meißt unter /Volumes/):
    Bei FSGetCatalogInfo noch das Flag kFSCatInfoParentDirID mit angeben; wenn dann FSCatalogInfoBitmap.parentDirID == fsRtParID, ist das Ding, was FSRef angibt, ein Volume (Achtung: auch beim Root-Verzeichnis ist dieses Flag gesetzt).

    Gute Recherche-Möglichkeiten bietet der veröffentlichte Quellcode zu PathFinder 3. Dort kann man sich so einiges abschauen :)
  • RE: verzeichnis-struktur parsen

    hey, chacko!

    danke für die tipps :) ist ja eigentlich schon fast alles, was man wissen muss :) werde ich mir gleich mal anschauen.

    gruss
    confusion
    There will always be skeptics.
    There will always be disbelievers.
    And there will always be Apple to prove them wrong.