apengine/apeng/src/ApListItem.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 17 Dec 2009 08:55:21 +0200
changeset 0 5a93021fdf25
child 66 ed07dcc72692
permissions -rw-r--r--
Revision: 200949 Kit: 200951

/*
* 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: 
*     Declaration of the CApSelect class.
*
*/


// INCLUDE FILES
#include <eikdef.h>

#include "ApListItem.h"
#include "ApEngineLogger.h"
#include "ApEngineCommons.h"

// LOCAL FUNCTION PROTOTYPES

// ================= MEMBER FUNCTIONS =======================
// Two-phased constructor.
// ---------------------------------------------------------
// CApListItem::NewLC
// ---------------------------------------------------------
//
EXPORT_C CApListItem* CApListItem::NewLC()
    {
    CLOG( ( EUtil, 0, _L( "-> CApListItem::NewLC" ) ) );

    CApListItem* db = new( ELeave ) CApListItem;
    CleanupStack::PushL( db );
    db->ConstructL();

    CLOG( ( EUtil, 1, _L( "<- CApListItem::NewLC" ) ) );
    return db;
    }


// ---------------------------------------------------------
// CApListItem::NewLC
// ---------------------------------------------------------
//
EXPORT_C CApListItem* CApListItem::NewLC
                                        (
                                        TCommsDbIspType aIspType,
                                        TUint32 aUid,
                                        const TDesC& aName,
                                        TApBearerType aBearerType
                                        )
    {
    CLOG( ( EUtil, 0, _L( "-> CApListItem::NewLC" ) ) );

    CApListItem* db = new( ELeave ) CApListItem;
    CleanupStack::PushL( db );
    db->ConstructL( aIspType, aUid, aName, aBearerType );

    CLOG( ( EUtil, 1, _L( "<- CApListItem::NewLC" ) ) );
    return db;
    }


EXPORT_C CApListItem* CApListItem::NewLC
                                        (
                                        TCommsDbIspType aIspType,
                                        TUint32 aUid,
                                        const TDesC& aName,
                                        TApBearerType aBearerType,
                                        const TDesC& aStartPage,
                                        TBool aReadOnly
                                        )
    {
    CLOG( ( EUtil, 0, _L( "-> CApListItem::NewLC" ) ) );

    CApListItem* db = new( ELeave ) CApListItem;
    CleanupStack::PushL( db );
    db->ConstructL( aIspType, aUid, aName, aBearerType, aStartPage );
    db->iExt->iReadOnly = aReadOnly;
    
    CLOG( ( EUtil, 1, _L( "<- CApListItem::NewLC" ) ) );
    return db;
    }

// ---------------------------------------------------------
// CApListItem::NewLC
// ---------------------------------------------------------
//
EXPORT_C CApListItem* CApListItem::NewLC( CApListItem* aItem )
    {
    CLOG( ( EUtil, 0, _L( "-> CApListItem::NewLC" ) ) );

    CApListItem* db = new( ELeave ) CApListItem;
    CleanupStack::PushL( db );
    db->ConstructL( aItem->iIspType, aItem->iUid, *aItem->iName,
                    aItem->iBearerType, *aItem->iStartPage );
    db->iExt->iReadOnly = aItem->IsReadOnly();
    
    CLOG( ( EUtil, 1, _L( "<- CApListItem::NewLC" ) ) );
    return db;
    }


// Destructor
// ---------------------------------------------------------
// CApListItem::~CApListItem
// ---------------------------------------------------------
//
EXPORT_C CApListItem::~CApListItem()
    {
    CLOG( ( EUtil, 0, _L( "-> CApListItem::NewLC" ) ) );

    delete iName;
    delete iStartPage;
    if ( iExt )
        {
        delete iExt;
        }

    CLOG( ( EUtil, 1, _L( "<- CApListItem::NewLC" ) ) );
    }



// ---------------------------------------------------------
// CApListItem::CopyFromL
// ---------------------------------------------------------
//
EXPORT_C void CApListItem::CopyFromL( const CApListItem& aCopyFrom )
    {
    CLOG( ( EUtil, 0, _L( "-> CApListItem::NewLC" ) ) );

    HBufC* temp = NULL;
    HBufC* temp2 = NULL;
    temp = aCopyFrom.iName->AllocL();
    delete iName;
    iName = temp;

    temp2 = aCopyFrom.iStartPage->AllocL();
    delete iStartPage;
    iStartPage = temp2;

    iUid = aCopyFrom.iUid;
    iIspType =  aCopyFrom.iIspType;
    iBearerType = aCopyFrom.iBearerType;
    iExt->iReadOnly = aCopyFrom.iExt->iReadOnly;

    CLOG( ( EUtil, 1, _L( "<- CApListItem::NewLC" ) ) );
    }


// C++ default constructor can NOT contain any code that
// might leave.
//
// ---------------------------------------------------------
// CApListItem::CApListItem
// ---------------------------------------------------------
//
EXPORT_C CApListItem::CApListItem()
:iIspType( EIspTypeInternetAndWAP ),
iUid( 0 ),
iBearerType( EApBearerTypeGPRS )
    {
    }


// Symbian OS default constructor can leave.
// ---------------------------------------------------------
// CApListItem::ConstructL
// ---------------------------------------------------------
//
EXPORT_C void CApListItem::ConstructL()
    {
    CLOG( ( EUtil, 0, _L( "-> CApListItem::NewLC" ) ) );

    iName = HBufC::NewL( 0 );
    iStartPage = HBufC::NewL( 0 );
    CreateExtraL();
    
    CLOG( ( EUtil, 1, _L( "<- CApListItem::NewLC" ) ) );
    }


// Symbian OS default constructor can leave.
// ---------------------------------------------------------
// CApListItem::ConstructL
// ---------------------------------------------------------
//
EXPORT_C void CApListItem::ConstructL( TCommsDbIspType aIspType,
                                      TUint32 aUid,
                                      const TDesC& aName,
                                      TApBearerType aBearerType )
    {
    CLOG( ( EUtil, 0, _L( "-> CApListItem::NewLC" ) ) );

    ConstructL();
    SetItemL( aIspType, aUid, aName, aBearerType );
    
    CLOG( ( EUtil, 1, _L( "<- CApListItem::NewLC" ) ) );
    }



// ---------------------------------------------------------
// CApListItem::ConstructL
// ---------------------------------------------------------
//
EXPORT_C void CApListItem::ConstructL( TCommsDbIspType aIspType,
                                      TUint32 aUid,
                                      const TDesC& aName,
                                      TApBearerType aBearerType,
                                      const TDesC& aStartPage
                                      )
    {
    CLOG( ( EUtil, 0, _L( "-> CApListItem::ConstructL" ) ) );

    ConstructL();
    SetItemL( aIspType, aUid, aName, aBearerType, aStartPage );

    CLOG( ( EUtil, 1, _L( "<- CApListItem::ConstructL" ) ) );
    }


// ---------------------------------------------------------
// CApListItem::SetItemL
// ---------------------------------------------------------
//
EXPORT_C void CApListItem::SetItemL( TCommsDbIspType aIspType,
                                    TUint32 aUid,
                                    const TDesC& aName,
                                    TApBearerType aBearerType )
    {
    CLOG( ( EUtil, 0, _L( "-> CApListItem::SetItemL(4)" ) ) );

    SetItemL( aIspType, aUid, aName, aBearerType, KEmpty );

    CLOG( ( EUtil, 1, _L( "<- CApListItem::SetItemL(4)" ) ) );
    }


// ---------------------------------------------------------
// CApListItem::SetItemL
// ---------------------------------------------------------
//
EXPORT_C void CApListItem::SetItemL( TCommsDbIspType aIspType,
                                    TUint32 aUid,
                                    const TDesC& aName,
                                    TApBearerType aBearerType,
                                    const TDesC& aStartpage
                                    )
    {
    CLOG( ( EUtil, 0, _L( "-> CApListItem::SetItemL" ) ) );

    HBufC* temp = NULL;
    temp = aName.AllocL();
    delete iName;
    iName = temp;

    HBufC* temp2 = NULL;
    temp2 = aStartpage.AllocL();
    delete iStartPage;
    iStartPage = temp2;

    iIspType = aIspType;
    iUid = aUid;
    iBearerType = aBearerType;
    
    CLOG( ( EUtil, 1, _L( "<- CApListItem::SetItemL" ) ) );
    }


// ---------------------------------------------------------
// CApListItem::Name
// ---------------------------------------------------------
//
EXPORT_C const TDesC& CApListItem::Name()
    {
    CLOG( ( EUtil, 0, _L( "<-> CApListItem::Name" ) ) );

    return *iName;
    }


// ---------------------------------------------------------
// CApListItem::Uid
// ---------------------------------------------------------
//
EXPORT_C TUint32 CApListItem::Uid()
    {
    CLOG( ( EUtil, 0, _L( "<-> CApListItem::Uid" ) ) );

    return iUid;
    }


// ---------------------------------------------------------
// CApListItem::Type
// ---------------------------------------------------------
//
EXPORT_C TCommsDbIspType CApListItem::Type()
    {
    CLOG( ( EUtil, 0, _L( "<-> CApListItem::Type" ) ) );

    return iIspType;
    }



// ---------------------------------------------------------
// CApListItem::BearerType
// ---------------------------------------------------------
//
EXPORT_C TApBearerType CApListItem::BearerType()
    {
    CLOG( ( EUtil, 0, _L( "<-> CApListItem::BearerType" ) ) );

    return iBearerType;
    }


// ---------------------------------------------------------
// CApListItem::StartPage
// ---------------------------------------------------------
//
EXPORT_C const TDesC& CApListItem::StartPage() const
    {
    CLOG( ( EUtil, 0, _L( "<-> CApListItem::StartPage" ) ) );

    return *iStartPage;
    }


// ---------------------------------------------------------
// CApListItem::IsReadOnly
// ---------------------------------------------------------
//
EXPORT_C TBool CApListItem::IsReadOnly() const
    {
    CLOG( ( EUtil, 0, _L( "<-> CApListItem::IsReadOnly" ) ) );

    return iExt->iReadOnly;
    }


// ---------------------------------------------------------
// CApListItem::IsVpnAp
// ---------------------------------------------------------
//
TBool CApListItem::IsVpnAp() const
    {
    return iExt->iIsVpn;
    }


// ---------------------------------------------------------
// CApListItem::CreateExtraL
// ---------------------------------------------------------
//
void CApListItem::CreateExtraL()
    {
    iExt = new ( ELeave )TApListItemExtra;
    iExt->iIapId = 0;
    iExt->iIsVpn = EFalse;
    iExt->iReadOnly = EFalse;
    }


// ---------------------------------------------------------
// CApListItem::SetVpnFlag
// ---------------------------------------------------------
//
void CApListItem::SetVpnFlag( TBool aIsVpn )
    {
    iExt->iIsVpn = aIsVpn;
    }

//  End of File