Ankündigung

Einklappen
Keine Ankündigung bisher.

PATCH: abhängiges $plugin_subscribe

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [wiregate] PATCH: abhängiges $plugin_subscribe

    Wie schon hier beschrieben ein Patch der die $plugin_subscribe Funktion - das Abonnieren von Gruppenadressen - erweitert.

    In den Plugins kann man jetzt diese Möglichkeiten der Abonnierung nutzen:

    Code:
    $plugin_subscribe
    $plugin_subscribe_read
    $plugin_subscribe_write
    • $plugin_subscribe - abonniert das Plugin auf jede Art von Telegrammen
    • $plugin_subscribe_read - abonniert das Plugin nur bei Read-Telegrammen
    • $plugin_subscribe_write - abonniert das Plugin nur bei Write-Telegrammen


    Hier der Patch:
    Code:
    --- wiregated.pl.orig	2013-04-15 17:48:44.000000000 +0200
    +++ wiregated.pl	2013-04-15 17:50:39.000000000 +0200
    @@ -958,6 +958,8 @@
     
     my %plugin_info;
     my %plugin_subscribe;
    +my %plugin_subscribe_write;
    +my %plugin_subscribe_read;
     my $plugin_initflag=0;
     my %plugin_socket_subscribe;
     
    @@ -1099,6 +1101,24 @@
                 check_generic_plugins($k,\%msg);
               }
            }
    +       # check subscribed plugin for READ
    +       if ($plugin_subscribe_read{$msg{'dst'}} && $msg{'apci'} eq "A_GroupValue_Read") {
    +                   #while( my ($k, $v) = each($plugin_subscribe{$msg{'dst'}}) ) {
    +                   for my $k ( keys %{$plugin_subscribe_read{ $msg{'dst'} }} ) {
    +            LOGGER('DEBUG',"Running Plugin $k subscribed for READ to $msg{'dst'}");
    +            $thr_eiblisten_timeout = time(); # set timeout
    +            check_generic_plugins($k,\%msg);
    +          }
    +       }	   
    +       # check subscribed plugin for WRITE
    +       if ($plugin_subscribe_write{$msg{'dst'}} && $msg{'apci'} eq "A_GroupValue_Write") {
    +                   #while( my ($k, $v) = each($plugin_subscribe{$msg{'dst'}}) ) {
    +                   for my $k ( keys %{$plugin_subscribe_write{ $msg{'dst'} }} ) {
    +            LOGGER('DEBUG',"Running Plugin $k subscribed for WRITE to $msg{'dst'}");
    +            $thr_eiblisten_timeout = time(); # set timeout
    +            check_generic_plugins($k,\%msg);
    +          }
    +       }
     
         } elsif ($msglen==414) {
    Grüße
    Umgezogen? Ja! ... Fertig? Nein!
    Baustelle 2.0 !
Lädt...
X