Bonjour,
Je suis entrain de réfléchir à faire communiquer efficacement deux applications totalement différentes.
On risque d'utiliser CORBA & Co pour gérer la couche COM. (c'est pas négociable en fait ;)) Et j'étais entrain de réfléchir à un pseudo langage pour faire communiquer les deux.
En gros :
Une appli A et une appli B:
A va demander à B son nom ca va se traduire dans une couche de COM par une chaine de caractère : "MODULE_IN_getName arg"
Et B va répondre "MODULE_OUT_getName name"
Maintenant j'aimerai faire un biding un peu à la lua ou python qui va interpréter ma chaine MODULE_IN_getName arg en appelant la bonne méthode C++ Module::getName(arg).
Bien sur j'ai encore jamais fait de biding mais je voulais savoir si ca se tenait et si il y a déjà des technos qui pourraient me simplifier la vie pour faire ca?
Voilà si il y a des idées, j'espère avoir était clair.
Et bien sur je vais avoir une trentaine de méthodes du genre à faire et jamais sur les mêmes modules...
MERCI !
# Reflecivité & shared object
Posté par William Briand . Évalué à 2.
[^] # Re: Reflecivité & shared object
Posté par GeneralZod . Évalué à 2.
Non, si tu veux faire ça, faudra spécifier au compilateur de ne générer des symboles C-style non manglé avec extern "C". Et ça ne marche pas avec les classes qu'il faudra wrapper dans des fonctions C-style.
[^] # Re: Reflecivité & shared object
Posté par TortuXm . Évalué à 1.
J'ai déjà utilisé Qt pour ça (voir QObject et QMetaObject pour plus d'infos), et il me semble que la librairie Boost contient des mécanismes similaires.
Sinon une autre proposition, qui paraît un peu bête mais sait-on jamais... Si tu n'as que peu de méthodes à binder, et que ça ne va pas vraiment évoluer, tu peux faire un bête tableau map qui associe différents noms de fonctions avec des pointeurs vers les méthodes.
[^] # Re: Reflecivité & shared object
Posté par xabi . Évalué à 1.
D'ailleurs pourquoi pas binder avec ToLua++ et ainsi me servir de Lua..
Merci!
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.