Detect-Ordnerzugriff in Objective C oder C ++ unter OSX (wie der Befehl fs_usage)

Ich arbeite an einem Echtzeit-Virenscanner unter OSX. Der OSX-Kommandozeilenbefehlfs_usage kann verwendet werden, um den Ordnerzugriff auf folgende Weise zu bestimmen (und kann nur als Root-Benutzer ausgeführt werden):

fs_usage -w -f pathname | grep '/Users/.*/Documents\|/Users/.*/Downloads' | grep mds

Dann scannen Sie einfach nach einer Zeile, die den folgenden Ausdruck enthält:

    open    

(4 Leerzeichen davor, 4 Leerzeichen danach)

Dies wird ausgegeben, wenn eine Datei in den Ordner "Dokumente" oder "Downloads" heruntergeladen wird. Sie können dann einen Datei-Hash (am besten sha256) ausführen und mit einer SQLite-Datenbank prüfen, ob Sie diese Datei bereits zuvor gescannt haben oder nicht. Wenn nicht, können Sie diese Datei scannen.

Okay, das ist interessant, aber wie kann man mit C ++ oder Objective C den Ordnerzugriff so bestimmen? Ich meine, sicher dasfs_usage Befehl verwendet dafür eine Art API, oder?

Ein Hinweis, den ich habe, ich denke, ist dasApple File System Events API. Ich verstehe es jedoch nicht ganz anhand der Beispiele für mein bestimmtes Szenario.