telutils/phoneparser/src/CPhoneGsmParserResult.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 13 Oct 2010 15:10:43 +0300
branchRCL_3
changeset 56 2735883dd3f6
parent 44 987c9837762f
permissions -rw-r--r--
Revision: 201038 Kit: 201041

/*
* Copyright (c) 2002 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:  Encapsulates results of parsing.
*
*/


// INCLUDE FILES
#include    <featmgr.h>

#include    "CPhoneGsmParserResult.h"
#include    "CPhoneGsmParserBase.h"
#include    "PhoneGsmParser.h"

// CONSTANTS
const TInt KPhoneParserResultParameterGranularity = 10;

// ============================ MEMBER FUNCTIONS ===============================

// -----------------------------------------------------------------------------
// CPhoneGsmParserResult::CPhoneGsmParserResult
// -----------------------------------------------------------------------------
//
CPhoneGsmParserResult::CPhoneGsmParserResult()
    {
    }

// -----------------------------------------------------------------------------
// CPhoneGsmParserResult::ConstructL
// -----------------------------------------------------------------------------
//
void CPhoneGsmParserResult::ConstructL()
    {
    iParameters = 
        new ( ELeave ) 
            CArrayFixFlat< TPtrC >( KPhoneParserResultParameterGranularity );
    }

// -----------------------------------------------------------------------------
// CPhoneGsmParserResult::NewL
// -----------------------------------------------------------------------------
//
CPhoneGsmParserResult* CPhoneGsmParserResult::NewL()
    {
    CPhoneGsmParserResult* self = new (ELeave) CPhoneGsmParserResult;
    
    CleanupStack::PushL( self );
    self->ConstructL();
    CleanupStack::Pop( self );

    return self;
    }

// -----------------------------------------------------------------------------
// CPhoneGsmParserResult::~CPhoneGsmParserResult
// -----------------------------------------------------------------------------
//
CPhoneGsmParserResult::~CPhoneGsmParserResult()
    {
    delete iParameters;
    }

// -----------------------------------------------------------------------------
// CPhoneGsmParserResult::ReserveParametersL
// -----------------------------------------------------------------------------
//
void CPhoneGsmParserResult::ReserveParametersL( 
        TUint aAmount )
    {
    iParameters->SetReserveL( aAmount );
    }

// -----------------------------------------------------------------------------
// CPhoneGsmParserResult::ClearL
//
// Zero all information.
// -----------------------------------------------------------------------------
//
void CPhoneGsmParserResult::ClearL()
    {
    iUid = KPhoneGsmUidInvalid;
    iAuxInformation = 0;

    if ( iParameters->Count() )
        {
        iParameters->ResizeL( 0 ); // Doesn't leave
        }
    }

// -----------------------------------------------------------------------------
// CPhoneGsmParserResult::ParameterAt
// -----------------------------------------------------------------------------
//
const TDesC& CPhoneGsmParserResult::ParameterAt( 
        TInt aIndex ) const
    {
    __ASSERT_ALWAYS( aIndex >= 0 &&
                     aIndex < iParameters->Count(),
                     PhoneGsmParser::Panic( PhoneGsmParser::EIncorrectUse ) );
    
    return iParameters->At( aIndex );
    }

// -----------------------------------------------------------------------------
// CPhoneGsmParserResult::SetUid
// -----------------------------------------------------------------------------
//
void CPhoneGsmParserResult::SetUid( 
        TUint aUid )
    {
    iUid = aUid;
    }

// -----------------------------------------------------------------------------
// CPhoneGsmParserResult::SetAuxInformation
// -----------------------------------------------------------------------------
//
void CPhoneGsmParserResult::SetAuxInformation( 
        TUint aAuxInformation )
    {
    iAuxInformation = aAuxInformation;
    }

// -----------------------------------------------------------------------------
// CPhoneGsmParserResult::AddParameterL
// -----------------------------------------------------------------------------
//
void CPhoneGsmParserResult::AddParameterL( 
        const TDesC& aParameter )
    {
    iParameters->AppendL( aParameter );
    }           

//  End of File