Hardening consulting

Passer des arguments à son platform integration plugin

qt5

Alors les plus grognons me diront:

mais c'est quoi ton platform integration bidule là....

Alors un platform integration plugin, c'est le plugin qui permet de s'occuper d'une partie de du matériel sous Qt, ça permet entre autre de gérer la partie graphique (xcb, x11, wayland) ou encore les méthodes d'entrée (heu là joker pour cette partie).

Donc on a fait notre magnifique code de platform integration plugin, ça ressemble à ça:

class QFreeRdpIntegration : public QPlatformIntegration
{
public:
    QFreeRdpIntegration(const QStringList &paramList);
    ~QFreeRdpIntegration();
/** bla bla bla reste de la class */

};

On peut s'en servir avec une application en faisant un savant:

# mon_application -platform <nom de mon plugin>

C'est super. En regardant de plus près, on se dit que paramList serait vraiment très appétissant, pour passer des paramètres au plugin (vu le nom). Seulement voilà, la doc est plutôt muette à son sujet. On sait que c'est la liste des paramètres par contre pour savoir comment les passer à l'application.... Mystère !

Après une bonne heure de recherche sur internet sur d'obscures mailing list Qt4 mobile (oui oui Qt4), je trouve l'incantation qui permet de lancer le sort:

# monapplication -platform <nom de mon plugin>:param1:param2

Et on récupère param1, param2 dans le tableau paramList, c'est magique.

Elle est pas belle la vie ?