2009-11-12 11 views
3

Est-ce que quelqu'un a utilisé Bluetooth sur Mac OS X avec Lazarus ou FreePascal? Il y a une unité Bluetooth, mais elle ne supporte actuellement que Linux.Bluetooth sur Lazarus/FreePascal sous Mac OS X

Informations sur l'unité existante: http://wiki.freepascal.org/Bluetooth

Je prévois d'améliorer ce pour soutenir Mac OS, mais il serait bon de savoir si quelqu'un a écrit un code à utiliser BlueTooth sous Mac OS déjà pour éviter le travail en double. Par contre, si vous avez utilisé XCode pour accéder à Bluetooth, quelles bibliothèques avez-vous utilisées? Je suis sûr que je peux le découvrir avec le profileur XCode en ouvrant certaines applications Bluetooth.

Remarque: Mac OS X ne semble pas utiliser la bibliothèque BlueZ de Linux, donc je ne pense pas que la solution soit aussi simple que de changer le chemin de la bibliothèque. Au lieu de cela, il a IOBluetooth "Framework", situé dans /System/Library/Frameworks/IOBluetooth.framework.

Avoir un regard, il ressemble à:

 
    kaikei.ocn.ntt.com:IOBluetooth.framework $ file * 
    CodeResources: XML document text 
    Headers:  directory 
    IOBluetooth: Mach-O universal binary with 3 architectures 
    IOBluetooth (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64 
    IOBluetooth (for architecture i386): Mach-O dynamically linked shared library i386 
    IOBluetooth (for architecture ppc7400): Mach-O dynamically linked shared library ppc 
    Resources:  directory 
    Versions:  directory 

D'autre part, je pense que si quelqu'un avait déjà fait cela, je serais probablement capable de le trouver sur Google .... Au large Je me trompe, répondez et faites-le moi savoir.

Clarification: J'ai créé des liaisons pour les bibliothèques partagées normales avant (par exemple sqlite3), mais pas pour un "framework". Si personne n'a créé de liaison ou utilisé le framework MacOS Bluetooth de FreePascal, des conseils sur l'utilisation des fonctions de framework de FreePascal seront généralement appréciés. (Et normalement les fonctions que je porte sont basées sur C, pas Obj-C, donc je ne suis pas sûr de savoir comment déclarer les méthodes Obj-C dans FPK, bien que je serai sûr de pouvoir trouver des échantillons si je continue à chercher).

Répondre

3

Le principal dépôt svn pour traduire cadre Mac OS X têtes C est http://svn.freepascal.org/svn/macosxintf/trunk

De temps en temps, les versions sont synchronisées avec FPC les dernières versions hébergées là-bas. Notez que les fichiers de ce référentiel (dans le sous-répertoire MPPInterfaces) sont dans un format générique qui peut être automatiquement traduit en versions FPC, GPC ou CodeWarrior Pascal.

Pour générer les versions FPC, utilisez "make fpcpinterfaces" et recherchez les résultats dans le dossier Build/FPCPinterfaces.

Pour traduire les nouveaux en-têtes, exécuter quelque chose comme ceci à l'intérieur d'une copie vérifié du référentiel macosxintf:     ./Scripts/Convert.pl /System/Library/Frameworks/IOBluetooth.framework/Headers/IOBluetooth.h FORCE MPPInterfaces

Ensuite, vous devrez toujours modifier le fichier résultant pour ajouter/supprimer des unités et nettoyer d'autres éléments non traités par le processus de traduction automatique. Une fois terminé, vous pouvez soumettre un rapport de bug sur bugs.freepascal.org avec les unités terminées.

(note: parce que je suis non inscrit, je ne peux ajouter dans une URL par courrier, de sorte que les prochaines URL sont un peu mutilée pour contourner cette restriction)

Vous pouvez également vous abonner à la liste Mac Pascal (lists.sonic.net/mailman/listinfo/mac-pascal) et demandez-lui si quelqu'un a déjà traduit ces en-têtes.

La structure Bluetooth contient en effet également des en-têtes Objective-C. Le support Objective-Pascal n'est disponible que dans les dernières versions de svc FPC, comme décrit sur le wiki FPC (google FPC_PasCocoa). Vous avez besoin de ce support pour vous interfacer avec Objective-C.

Traduire Objective-C est probablement plus facile en utilisant le script ailleurs dans le svn CPF (svn.freepascal.org/svn/fpc/trunk/packages/cocoaint/utils/)

Vous voulez demander de l'aide sur la liste Mac Pascal mentionnée ci-dessus, puisque toutes les personnes conservant les traductions et les outils de traduction mentionnés ci-dessus y sont inscrits.

+0

Merci pour l'information! Je n'étais pas au courant de la liste macpascal. – Noah