Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Extensions lua dans Linknx
#1
Pour les besoins d'un crépusculaire logiciel, j'ai modifié le code de Linknx pour permettre l'appel de nouvelles fonctions dans les scripts lua.

Les voilà, semblables à leurs homonymes XML sauf la dernière tryrule qui est nouvelle.

isException(day)

sendemail(to,subject,body)

getruleactive(ruleid)

setruleactive(ruleid,boolean)

dorule(rule,boolean)

cancelrule(rule)

tryrule(rule)

Si ces modifications vous intéressent ou si les développeurs/mainteneurs de Linknx trouvent utile de les incorporer au code officiel, dites-le moi.
Répondre
#2
Salut,

je serais intéressé par tes modifs du code de linknx

pourrais-tu les mettre a dispo quelque pars ou les envoyer par mail par exemple

PS: je suis curieux de ton "crépusculaire logiciel" également qu'as tu fais et pour quel besoin ?

merci d'avance
@+
Anthony.
Répondre
#3
Bonjour,

Sur base du code source de linknx-0.0.1.30, j'ai modifié les fichiers en pièce jointe.
J'ai dû ajouter un suffixe .txt pour pouvoir les charger. A vous de l'enlever.


Il n'y a plus qu'à recompiler.

Bon amusement et faites vos commentaires...



Voilà le détail:

emailgateway.cpp et emailgateway.h

La fonction EmailGateway:ConfusedendEmail renvoie un code "int" de réussite.

luacondition.cpp et luacondition.h

Ajouté les fonctions lua suivantes pour les scripts de type action:

isException(day)

Renvoie une indication booléenne du statut "exception" du jour.

sendemail(to,subject,body)

Envoi d'un courriel.
Renvoie une indication booléenne de réussite.


getruleactive(ruleid)

Renvoie une indication booléenne de l'activation ou non de cette rule ou nil si cette rule n'existe pas.

setruleactive(ruleid,boolean)

Active ou désactive la rule.
Renvoie true quand terminé ou nil si la rule n'existe pas.

dorule(rule,boolean)

Execute les actions on true/if true ou on false/if false de la rule selon la demande.
La condition de la rule n'est pas prise en compte/évaluée.
Renvoie true quand terminé ou nil si la rule n'existe pas.

tryrule(rule)

Evalue les conditions de la rule et execute les actions correpondantes de la branche on true/if true ou on false/if false.
Renvoie true quand terminé ou nil si la rule n'existe pas.

cancelrule(rule)

Annule toutes les actions en cours ou en attente pour cette rule.
Renvoie true quand terminé ou nil si la rule n'existe pas.




ruleserver.cpp et ruleserver.h

Ajouté l'accès au flag "activation" d'une rule.

ioport.cpp

Petite retouche pour permettre la compilation avec g++.


Pièces jointes
.txt   emailgateway.cpp.txt (Taille : 7,32 Ko / Téléchargements : 1)
.txt   emailgateway.h.txt (Taille : 1,84 Ko / Téléchargements : 1)
.txt   ioport.cpp.txt (Taille : 23,99 Ko / Téléchargements : 2)
.txt   luacondition.cpp.txt (Taille : 15,88 Ko / Téléchargements : 1)
.txt   luacondition.h.txt (Taille : 2,56 Ko / Téléchargements : 1)
.txt   ruleserver.cpp.txt (Taille : 63,9 Ko / Téléchargements : 1)
.txt   ruleserver.h.txt (Taille : 13,46 Ko / Téléchargements : 1)
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)