sysmodellibs/sysmodelgen/src/common/LogItem.pm
changeset 6 5b32dc297d05
parent 3 e7e0ae78773e
child 7 3c36c452f013
equal deleted inserted replaced
3:e7e0ae78773e 6:5b32dc297d05
     1 # Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 # All rights reserved.
       
     3 # This component and the accompanying materials are made available
       
     4 # under the terms of "Eclipse Public License v1.0"
       
     5 # which accompanies this distribution, and is available
       
     6 # at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 #
       
     8 # Initial Contributors:
       
     9 # Nokia Corporation - initial contribution.
       
    10 #
       
    11 # Contributors:
       
    12 #
       
    13 # Description:
       
    14 #
       
    15 
       
    16 package LogItem;
       
    17 
       
    18 use FindBin;
       
    19 use lib $FindBin::Bin;
       
    20 use DepConstants;
       
    21 
       
    22 #-------------------------------------------------------------------------------------------------
       
    23 # Subroutine:   new
       
    24 # Purpose:      Constructor
       
    25 # Input:        None (extracted from command line args)
       
    26 # Output:       A reference to itself
       
    27 #-------------------------------------------------------------------------------------------------
       
    28 sub new()
       
    29 	{
       
    30 	my $package = shift;
       
    31 	my $self = {};         			# Create reference to object
       
    32 	bless $self,  $package;    		# Associate a reference with class name
       
    33 	my %parameters = @_;
       
    34 	$self->{iMessage} 	= $parameters{'msg'} ? $parameters{'msg'} : "";
       
    35 	$self->{iCode} 		= $parameters{'code'} ? $parameters{'code'} : 0;
       
    36 	$self->{iModule} 	= $parameters{'module'} ? $parameters{'module'} : 0;
       
    37 	$self->{iSeverity} 	= $parameters{'severity'} ? $parameters{'severity'} : 3; # default is INFO
       
    38 	$self->{iDepth}		= $parameters{'depth'} ? $parameters{'depth'} : 0;
       
    39 	
       
    40 	$self->{iCode} = &DepConstants::ModuleErrorCodes($self->{iModule}, $self->{iSeverity}) if $self->{iCode} == 0;
       
    41 	
       
    42 	$self->{iDate} 		= scalar(localtime);
       
    43     return $self;
       
    44 	}
       
    45 
       
    46 sub Message()
       
    47 	{
       
    48 	my $self = shift;
       
    49 	$self->{iMessage} = $_[0] if $_[0];
       
    50 	return $self->{iMessage};
       
    51 	}
       
    52 
       
    53 sub Module()
       
    54 	{
       
    55 	my $self = shift;
       
    56 	$self->{iModule} = $_[0] if $_[0];
       
    57 	return $self->{iModule};
       
    58 	}
       
    59 
       
    60 sub Severity()
       
    61 	{
       
    62 	my $self = shift;
       
    63 	$self->{iSeverity} = $_[0] if $_[0];
       
    64 	return $self->{iSeverity};
       
    65 	}
       
    66 
       
    67 sub Depth()
       
    68 	{
       
    69 	my $self = shift;
       
    70 	$self->{iDepth} = $_[0] if $_[0];
       
    71 	return $self->{iDepth};
       
    72 	}
       
    73 
       
    74 sub Date()
       
    75 	{
       
    76 	my $self = shift;
       
    77 	$self->{iDate} = $_[0] if $_[0];
       
    78 	return $self->{iDate};
       
    79 	}
       
    80 
       
    81 sub Code()
       
    82 	{
       
    83 	my $self = shift;
       
    84 	$self->{iCode} = $_[0] if $_[0];
       
    85 	return $self->{iCode};
       
    86 	}
       
    87 
       
    88 sub LogText()
       
    89 	{
       
    90 	my $self = shift;
       
    91 	return $self->SeverityText()."(".$self->{iCode}.") [".$self->{iDate}."]: "." " x $self->{iDepth}.$self->{iMessage}."\n";
       
    92 	}
       
    93 
       
    94 sub SeverityText()
       
    95 	{
       
    96 	my $self = shift;
       
    97 	return "  ERROR" if $self->Severity() == DepConstants::ERROR;
       
    98 	return "WARNING" if $self->Severity() == DepConstants::WARNING;
       
    99 	return "   INFO";
       
   100 	}
       
   101 
       
   102 1;