Voila, je code actuellement un serveur IRC.
Pour celui ci, je souhaiterai y mettre une gestion des événements performante afin d'avoir quelque chose de simple à mettre en place.
Je voudrais quelque chose qui ressemble le plus possible à du C++, et non pas, du C avec une class...
J'ai pensé à quelque chose comme ça, mais je sais pas trop comment coder ça :
Code :
- bool OnPrivMsg_Before(const Client &, const std::string Destination &, const std::string &Message)
- {
- return true;
- }
- bool OnPrivMsg_After(const Client &, const std::string Destination &, const std::string &Message)
- {
- return true;
- }
|
ça seraient les fonctions qui seraient appellées lors de l'arrivée d'un message pour un salon ou un autre utilisateur... (sachant que je ferais en sorte, qu'on puisse, bien entendu, associer plusieurs fonctions a un événement).
et je voudrais faire queque chose comme ça pour définir un nouvel événement :
Code :
- /* class Evenement { ... } ; */
- Evenement::Register("IrcOnPrivmsg", bool (const Client &, const std::string Destination &, const std::string &Message));
|
biensur, ce code ne compile pas, mais je voudrais faire quelque chose dans cette idée;. c'est a dire, donner un nom a l'événement, et donner en meme temps, le prototype des fonctions appelées par cet event... (2 events, auront des protos différents).
et ensuite, pour associer une fonction a un event :
Code :
- Evenement::New("IrcOnPrivmsg", OnPrivMsg_Before, OnPrivMsg_After);
|
et finallement, pour appeler les fonctions :
Code :
- Evenement::Call_Before("IrcOnPrivmsg" ); // appel des fonction *_Before
- Evenement::Call_After("IrcOnPrivmsg" ); // appel des fonction *_After
|
voila l'idée que j'avais.. mais mon soucis, et que je sais pas si c'est possible de passer un prototype de fonction en parametre.. et comment l'utiliser ensuite....
merci d'avance