Tout d'abord il s'agit de ma toutes première source en C++ / C++ CLI, pas en tant que source posté sur ce réseau mais étant la première fois que j'utilise ce langage disons de manière "normal"
Qu'est ce que c'est : Ce code est une dll C++ CLI pouvant être chargé dans XChat en tant que plugin.
Pourquoi cette source : Actuellement XChat ne gère pas les plugin de type .Net
J'aurais pu faire une source banale en C++ CLI présentant les points d'entrés requis pour XChat et montrer qu'il est possible de faire des appels .Net avec.
J'ai été un petit peu plus loin dans le developpement de cette source :
Ce code permet lui même de chargé des assembly .net et fait l'interop entre Xchat et "n" plugins managés
Ce code inclus 3 dll :
* La dll d'interop entre XChat et les appel managé disons => "XChatInterop.dll"
celle ci a une commande "/DotNetManager" permettant d'ouvrir un formulaire de gestion des plugins .Net
* Une dll d'interfacage entre cette dites dll d'interop et les plugins => "PluginInterface.dll" contenant les interfaces, type, delegué ect ... decrivant les "standards" de communication
* Une derniere dll => "PluginXchatDotNet.dll" celle ci m'a servis de banc d'essais et sert en qq sorte a illustrer le fonctionnement basique du projet
Je n'ai pas encore testé dans son integralité ou essayé de poussé les plugin pour voir ce que cela pouvait supporté pour le moment
Ce code se sert des AppDomain de .net permettant de charger et decharger a chaud les assembly en mémoire cela peux expliquer un code qui semble etre lourd, mais qui au final ne l'est pas tant que ca.
(voir la conclusion pour l'utilisation de ce projet)