FSEvents C ++ Beispiel

8

Ich muss FSEvents Watcher für einen Ordner in Mac erstellen. Ich bin mit C ++ vertraut und es gibt eine Möglichkeit, FSEvents-Benachrichtigungen in C ++ - Code statt Objective-C zu erhalten. Gibt es einen Beispielcode, mit dem ich anfangen kann, und irgendwelche Bibliotheken, die ich mit einschließen muss??

Ich bin schon auf dieser Seite. Ссылка

Aber es scheint nur Ziel C zu geben, kann ich CPP-Version davon haben

    
Zeus 19.07.2012, 08:10
quelle

1 Antwort

13

Ja, das ist in C möglich. Sie sollten nach Kernel-Warteschlangen suchen.

Hier ist ein kleines Beispiel, um das Verzeichnis zu sehen:

%Vor%

Die Details finden Sie in Kap. 16 (kqueues und FSEvents) von "Advanced Mac OSX Programming" von Mark Dalrymple. Die zusätzlichen Informationen können in der * BSD-Dokumentation für kqueues gefunden werden.

Oder verwenden Sie diese API von FSEvents (meist C-basiert).

%Vor%

zum Erstellen des FSEvents-Ereignisdatenstroms mit reinem C-Rückruf.

Dann fügen Sie diesen Event-Stream mit dem

an Ihren Runloop an %Vor%

Ja, hier sollten Sie wahrscheinlich eine Linie von Obj-C verwenden, um das RunLoop-Handle zu erhalten: Holen Sie das CFRunLoop von einem NSRunLoop mit -getCFRunLoop

%Vor%

oder verwenden Sie den reinen C-Aufruf

%Vor%

Starten Sie den Ereignisstrom mit

%Vor%

Stoppen Sie den Ereignisstrom mit

%Vor%

Und dann entplane es aus dem Runloop mit diesem:

%Vor%

Machen Sie den Stream ungültig (Bereinigung):

%Vor%

Ich hoffe, das wird Sie weiterbringen.

    
Viktor Latypov 19.07.2012, 08:56
quelle

Tags und Links