my $xml = XML::Mini::Document->new(); $xml->parse( $mesg ); my $xmlHash = $xml->toHash; if( exists( $xmlHash->{cafe_psfsn} ) ) #**** { $self->{runLevel} = 1 if( $self->{runLevel} < 1 ); return $self->{cmdGen}->cafeMesg(); } elsif( exists $xmlHash->{version} && $self->{runLevel} >= 1 ) { return $self->{cmdGen}->versionMesg( $self->{config} ); } elsif( exists $xmlHash->{get_version} && $self->{runLevel} >= 1 ) { $self->{runLevel} = 2 if( $self->{runLevel} < 2 ); return $self->{cmdGen}->versionMesg( $self->{config} ); } elsif( exists $xmlHash->{get_prog} && $$self->{runLevel} >= 2 ) { # generiere update system object $self->{upSys} = UpdaterSystem->new( $self->{config}->{GENERAL}->{programfilename} ); return $self->{cmdGen}->progMesg( $self->{upSys}->getFileParams( $self->{config}->{VERSION}->{prog} ) ); } elsif( exists $xmlHash->{login} && $self->{runLevel} >= 2 ) { $self->{runLevel} = 3 if( $self->{runLevel} < 3 ); } elsif( exists $xmlHash->{logout} && $self->{runLevel} >= 3 ) { } elsif( exists $xmlHash->{disconnect} ) { exit; } elsif( exists $xmlHash->{error} ) { } elsif( exists $xmlHash->{search} && $self->{runLevel} >= 3 ) { } elsif( exists $xmlHash->{ok} ) { &okMesg( $self, $xmlHash ); } }