Traitement des évenements COMHUB

Sources d'évenement

Par défaut, le client COMHUB ne récupèrera que les évenements dont l'utilisateur associé à la connexion est destinataire. Il est possible et nécessaire, dans certains cas, d'élargir cela en accédant à des sources d'évenements différentes, en fonction des droits d'accès qui auront été configurés sur le serveur. Par exemple, si on désire superviser l'ensemble des appels, il faut s'abonner aux évenements de la source "_calls_", sans quoi nous ne récupérerons que les évenements correspondants aux appels de l'utilisateur.

Voir la documentation COMHUB pour plus de détails sur la gestion des évenements.

Abonnement aux évenements (callbacks)

void onEvent ( function(event) { ... } )
Positionne une callback générale sur tous les évenements reçus par l'interface COMHUB. L'objet passé ) la callback reçoit un unique paramètre, qui est l'objet évenement.
void onEvent ( "type",function(event) { ... } )
void onEvent ( ["type1","type2",...],function(event) { ... } )
Cette variante permettent d'abonner une fonction callback sur un ou plusieurs évenements en particulier, dont on passe le ou les types en premier parametre.

Contrôle de la boucle évenementielle

void startEventLoop ( [function(event) { ... }] )
Démarre la boucle évenementielle COMHUB et positionne (en option) une fonction callback qui traitera les évenements reçus. Il est bien sur possible d'ajouter d'autres callback ultérieurement. Plus de détails sur les méthodes liées aux évenements sont disponibles plus loin.
void stopEventLoop ( void )
Arrête la boucle évenementielle COMHUB. Les callback de traitement des évenements qui auraient été positionnées ne sont pas retirée ; il sera possible de redémarrer ensuite la boucle évenementielle dans les mêmes conditions.
void restartEventLoop ( void )
Redémarre la boucle évenementielle. Cette méthode est utile lorsqu'on modifie les paramètres de collecte des évenements.
bool usingEventSource ( srcname )
Retourne true quand la boucle évenementielle est configurée pour récupérer les évenements de la source dont on passe le nom.
void eventSources ( ["src1","src2",...] )
Configure la boucle évenementielle pour l'utilisation des sources dont on passe la liste. Dans le cas ou la boucle évenementielle soit déjà démarée, il est nécessaire de la relancer (restartEventLoop) pour que ces modifications soient prises en compte.

Exemple

TbComHub.onEvent("user/state",
    function(event)
    {
        var userid=event.userid;
        var state=event.state;
        LOGERROR("User %s state is now: %s",userid,state);
    });