OVH Cloud OVH Cloud

acces au metadata

3 réponses
Avatar
xdunat
Bonjour,
Toujours d=E9butant dans la programmation sp=E9cifique Mac, je cherche
faire des copies des fichiers. En reprenant la m=E9thode utilis=E9e sous
Unix, pour l'instant il ne copie que la partie donn=E9e (data fork).
J'ai vu que l'on pouvait acc=E9der =E0 la partie resource fork avec
fopen(fichier, O_RDONLY | O_RSRC) mais comment puis-je lire les
m=E9ta-datas ?

3 réponses

Avatar
Schmurtz
"xdunat" wrote:

Bonjour,
Toujours débutant dans la programmation spécifique Mac, je cherche
faire des copies des fichiers. En reprenant la méthode utilisée sous
Unix, pour l'instant il ne copie que la partie donnée (data fork).
J'ai vu que l'on pouvait accéder à la partie resource fork avec
fopen(fichier, O RDONLY | O RSRC) mais comment puis-je lire les
méta-datas ?


Pour les méta-datas, il y a les fonctions setattrlist et getattrlist, cf
les pages de man correspondantes.

Pour les resources, il me semble que le flag O_RSRC n'existe pas (j'ai
fait un grep récursif sur tout /usr/include/).

Sinon, si tu as besoin de copier des fichiers, le plus simple est
d'utiliser les APIs Carbon/Cocoa correspondantes qui simplifient
vraiment les opérations.

--
Schmurtz

Avatar
Schmurtz
"xdunat" wrote:

Bonjour,
Toujours débutant dans la programmation spécifique Mac, je cherche
faire des copies des fichiers. En reprenant la méthode utilisée sous
Unix, pour l'instant il ne copie que la partie donnée (data fork).
J'ai vu que l'on pouvait accéder à la partie resource fork avec
fopen(fichier, O RDONLY | O RSRC) mais comment puis-je lire les
méta-datas ?


Pour les méta-datas, il y a les fonctions setattrlist et getattrlist, cf
les pages de man correspondantes.

Pour les resources, il me semble que le flag O_RSRC n'existe pas (j'ai
fait un grep récursif sur tout /usr/include/). Essaie toujours en
rajoutant /..namedfork/rsrc à la fin du chemin d'accès au fichier (c'est
une méthode qui marche dans le terminal avec des commandes comme cat).

Sinon, si tu as besoin de copier des fichiers, le plus simple est
d'utiliser les APIs Carbon/Cocoa correspondantes qui simplifient
vraiment les opérations.

--
Schmurtz

Avatar
xdunat
Effectivement O_RSRC n'existe pas (j'avais trouvé ça après une
recherche sur le net, peut-être utilise-t-il une lib particulière).
L'ajout de '/rsrc' à la fin du nom semble fonctionner. Je continue les
tests.
Merci.