############################################################ # answer_set2 # Beantwortung eines Set-, Commit-, Undo-Requests ############################################################ sub answer_set2 { # Uebernahme der Parameter local($GID,$InstID,$Art,$dpi_get_packet_id,$Set_Typ,$Set_Laenge, @Set_Wert)=@_; if (!$GID eq $GROUPID) # Falls der Subagent fuer diese Group-ID { # nicht zustaendig &ResponseError($dpi_get_packet_id,"05") # Allgemeiner Fehler } # Set-Variablen if ($InstID eq "1.0") { if ($Art eq "03") # Set - Request { $Fehler = &set_1($Set_Laenge,@Set_Wert); } elsif ( $Art eq "0a") # Commit - Request { $Fehler = &com_1; # Commit-Funk. } elsif ( $Art eq "0b") # Undo - Request { $Fehler = &undo_1; # Undo-Funktion } if(!$Fehler) { &ResponseSuccess($dpi_get_packet_id,$GID,$InstID, $Set_Typ,$Wert{$InstID}); } else {# nicht Schreibbar &ResponseError($dpi_get_packet_id,$Fehler) } } elsif ($InstID eq '2.0') { if ($Art eq "03") # Set - Request { # Funktion fuer Instanz 2 aufrufen $Fehler = &set_2(@Set_Wert); } elsif ( $Art eq "0a") # Commit - Request { $Fehler = &com_2; # Commit-Funktion } elsif ( $Art eq "0b") # Undo - Request { $Fehler = &undo_2; # Undo-Funktion } if(!$Fehler) { &ResponseSuccess($dpi_get_packet_id,$GID,$InstID, $Set_Typ,$Wert{$InstID}); } else {# nicht Schreibbar &ResponseError($dpi_get_packet_id,$Fehler) } } else # Keine Set-Variable vorhanden { &ResponseError($dpi_get_packet_id,"11") # nicht Schreibbar } } 1;# PERL - spez. Eine Dat., die mit require eingeb. wird muss mit True enden.