#1 Le 30/05/2007, à 20:32
- Cathou
Gnome - besoin d'avis d'expert pour implémenter un singleton en C
Bonjour,
j'ai deux applis gnome sur le feu: une 'normale' et une 'panel applet'. Pour chacune, cela n'aurait pas de sens que plusieurs instances puissent être lancées. Et ce serait même dangereux, enfin bref..
Je pensais forcer l'unicité d'instance (singleton) grâce à un simple verrou dans /tmp mais depuis j'ai vu qu'il existe plusieurs moyens de faire ça de manière plus propre:
1) bacon - exemple: gedit
2) dbus - exemple: evince
3) bonobo - exemple: evolution
La question que je me pose c'est: quelle est la meilleure méthode?
J'ai pas trouvé celle qui est la plus 'officielle' et là je suis un peu perdue, en fait
Précision: je n'utilise pas de binding c++ du genre gtkmm. Mes deux applis sont en c, basées sur glib & gtk2, plus quelques sucreries (libglade, libxml, gconf, libpanel..)
Toute suggestion serait bienvenue..
#2 Le 31/05/2007, à 16:17
- pef
Re : Gnome - besoin d'avis d'expert pour implémenter un singleton en C
Le mieux serait de demande sur une mailing-list de dev gnome, non ?
Hors ligne
#3 Le 02/06/2007, à 21:30
- Cathou
Re : Gnome - besoin d'avis d'expert pour implémenter un singleton en C
Oui merci, c'est probablement ce que j'ai de mieux à faire..
A ceux qui se posent la question: il n'y a rien sur le sujet sur developpez.com, ni sur developer.gnome.org, ni sur gtk.org
Bizarre quand même
#4 Le 03/06/2007, à 09:27
- Watchwolf
Re : Gnome - besoin d'avis d'expert pour implémenter un singleton en C
personnelement je connait un peu et vais utiliser dbus dans un avenir proche. Ca correspond bien a tes besoins. Ceci dit je ne connait pas le reste, je ne peut donc pas comparer.
Dans ton cas tu peut utiliser glib-dbus (ou un nom du genre) vu que tu utilise la glib.
Dernière modification par Watchwolf (Le 03/06/2007, à 09:28)
Hors ligne
#5 Le 04/06/2007, à 22:45
- Cathou
Re : Gnome - besoin d'avis d'expert pour implémenter un singleton en C
Merci.
Si ça t'intéresse, je viens de tomber sur ceci ainsi que sur cela
Le positif, c'est que j'avais bien intuité. Au prix de pas mal d'épluchage de code existant, toutefois
Le négatif, c'est que la solution soi-disant ultime ressemble à un sacré bricolage:
GUniqueApp requires patched GTK to build correctly
Faut patcher gtk? Gloups
[humeur]
Peut-être que c'est à mettre sur le compte de mon inexpérience de dev sous gnome, mais je suis un peu déçue qu'il n'existe pas quelque chose de plus propre, depuis le temps, pour satisfaire une exigence plutôt courante..
En comptant GConf, ça fait ma deuxième déception vis à vis de gnome
[/humeur]