Surveiller les modifications faites à  un fichier

ChachaChacha Membre
15:32 modifié dans API AppKit #1
Bonjour,

J'ai découvert via GraphViz (je parle de la GUI de Glen Low) qu'apparemment, MacOS est capable de poster des notifications lorsqu'un fichier est modifié. GraphViz est un programme de calcul de graphe. Un fichier texte décrit le graphe, et le programme calcule une image le représentant.
Avec la GUI, même si on éditait le fichier texte dans TextEdit, tout enregistrement du fichier déclenchait le rendu du graphe dans GraphViz. C'est fort, ça !

En cherchant un peu, et même beaucoup, j'ai fini par trouver qu'en fait, ce sont de vieilles librairies qui permettent de faire ça (des fonctions FN* genre FNNotify, etc.), parce que ce n'est pas encore "complètement" intégré à  Cocoa.

Et, effectivement, je n'ai pas réussi à  trouver de méthodes Cocoa pour simplement surveiller un fichier et déclencher des événements. D'où, questions:
-je n'ai pas trouvé parce que je suis miraud, ou parce que cela fait effectivement partie de ce qui n'est pas encore implémenté ?
-dans le second cas, est-ce implémenté dans Tiger (pour ceux qui l'ont) ?

+
Chacha

Réponses

  • Eddy58Eddy58 Membre
    février 2005 modifié #2
    Il existe la notification NSWorkspaceDidPerformFileOperationNotification (Posted when a file operation has been performed in the receiving application).
    Mais je ne sais pas si cela suffira à  tes besoins, d'autre part il me semble que ce sujet, ou quelque chose d'approchant avait déjà  été traité par mpergand...:)

    [EDIT]
    J'ai retrouvé le thread en question :
    http://www.objective-cocoa.org/forum/index.php?topic=370.0
  • BruBru Membre
    15:32 modifié #3
    Beaucoup d'apis qui sont liées aux couches de bas niveau du système (BSD en l'occurence) n'ont pas de "wrapper" vers cocoa...

    Et n'en auront sans doute jamais !

    Cocoa reste une api de haut niveau qui sert essentiellement à  créer des front-end d'application.

    Pour le reste (tout ce qui touche aux parties de bas niveau, ou tout ce qui demande de l'optimisation/rapidité), rien ne vaut de bonnes vieilles apis C, comme POSIX ou Carbon.

    L'avantange de cocoa, c'est l'utilisation de Objective-C.

    L'avantage de l'Objective-C, c'est de pouvoir d'y inclure du C de manière complètement transparente.

    .
  • ChachaChacha Membre
    15:32 modifié #4
    Merci pour le lien, je vais potasser tout ça.

    +
    Chacha
  • 15:32 modifié #5
    Il y a mieux, si mes souvenirs sont bons, GraphViz a remporté un Apple Award dans la catégorie open-source. En tous cas, un p'tit coup d'½il sur leur site donne un lien (bien planqué...) qui permet d'avoir le code source (http://www.graphviz.org/About.php).

    Voili voilou.
  • nucleusnucleus Membre
    15:32 modifié #6
  • ChachaChacha Membre
    15:32 modifié #7
    dans 1108477308:


    Ouaip, ce lien était dans le thread indiqué précédemment par Eddy58. Je suis allé chercher ce wrapper, et y'a pas à  dire, ça fonctionne bien !
    En plus, la license d'utilisation n'est pas restrictive pour un sou.

    +
    Chacha
Connectez-vous ou Inscrivez-vous pour répondre.