commsinfrastructureapitest/commsinfrastructuresvs/suite/group/getipaddr.pl
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 12 Mar 2010 15:49:41 +0200
branchRCL_3
changeset 13 98a7181d2ce7
parent 0 dfb7c4ff071f
permissions -rw-r--r--
Revision: 201008 Kit: 201008

#
# Copyright (c) 2005-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 Getopt::Long;

sub Usage()
	{
print <<USAGE_EOF;
Usage
	getipaddr.pl -connection=Connection

	Connection
		Local Area Connection | RAS
USAGE_EOF
	}

###Validate parameters
sub GetParameters()
	{
	my $connection="";

	GetOptions(
		'connection=s'	=> \$connection,
		'help'			=> \$help);

	if ( $help )
		{
	print	"Help\n";
		Usage();
		exit(0);
		}

    return ($connection);
	}

sub GetIpAddr($)
{
	my ($connection) = @_;
	$connection .= ":";

	my	$sCfgFile = "./ipconfig.txt";
	my	$sSrvAddr = "";
	my	$cfgFound = 0;
	system("ipconfig > $sCfgFile");
	open(IPCONFIG, $sCfgFile);

	foreach (<IPCONFIG>)
	{
		if (/.+adapter.+/)
		{
			if (/.+adapter\s+$connection/)
			{
				$cfgFound = 1;
			}
			else
			{
				$cfgFound = 0;
			}
		}
		elsif($cfgFound == 1)
		{
			if(/IP.+\s+(\d+\.\d+\.\d+\.\d+)/)
			{
				$sSrvAddr = $1;
			}
		}
	}
	close (IPCONFIG);

	return $sSrvAddr ;
}

sub Main()
{
	my	$connection="";
	($connection)=GetParameters();

	my	$ipaddr="";
	$ipaddr=GetIpAddr($connection);

	print "$ipaddr\r\n";
}

Main();