diff -r 000000000000 -r dfb7c4ff071f commsfwtools/commstools/svg/listitf.pl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwtools/commstools/svg/listitf.pl Thu Dec 17 09:22:25 2009 +0200 @@ -0,0 +1,75 @@ +# Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# +# Initial Contributors: +# Nokia Corporation - initial contribution. +# +# Contributors: +# +# Description: +# + +use strict; + +use Getopt::Long; +my $incPersist = 0; +my $incLastSeen = 1; +GetOptions('persist!' => \$incPersist, 'lastseen!' => \$incLastSeen); + +my %regs; +my %persistItf; +my %lastSeen; +while(<>) +{ + if($_ =~ /\s+(W\d+): RegisterItf\(([0-9a-fA-F]+)/) + { + my $key = "$1: $2"; + $regs{$key} = [ "(#$.)", $. ]; + } + elsif($_ =~ /\s+(W\d+): DeregisterItf\(([0-9a-fA-F]+)/) + { + my $key = "$1: $2"; + delete $regs{$key}; + } + elsif($_ =~ /\s+(W\d+): (.+):\s+created \[MCFNode ([0-9a-fA-F]+)/) + { + my $key = "$1: $3"; + $regs{$key} = ["$2 (#$.)", $.] if defined($regs{$key}); + } + elsif($_ =~ /CSockManData::AddPersistentItf\(([0-9a-fA-F]+)\)\s+\[#(\d+)\]/) + { + $persistItf{$1} = $2; + } + elsif($incLastSeen && $_ =~ /TCFSignatureBase:\tDispatchL\(\): Sender=([0-9a-fA-F]+), Recipient=([0-9a-fA-F]+), Message=(.+), Activity=/) + { + $lastSeen{$1} = [$3, $.]; + $lastSeen{$2} = [$3, $.]; + } +} + +my @keys = sort { $regs{$a}->[1] <=> $regs{$b}->[1] } keys %regs; +for my $key (@keys) +{ + my $persistInfo; + if($key =~ /W\d+: ([0-9a-fA-F]+)/) + { + $persistInfo = $persistItf{$1} if defined($persistItf{$1}); + } + if(!defined($persistInfo) || $incPersist) + { + my $lastSeenId; + if($incLastSeen && defined ($lastSeenId = $lastSeen{$1})) + { + $lastSeenId = "#$lastSeenId->[1], $lastSeenId->[0]"; + } + print "$key $regs{$key}->[0]"; + print " (last seen $lastSeenId)" if defined($lastSeenId); + print " (persistent #$persistInfo)" if defined($persistInfo); + print "\n"; + } +} +