emailservices/emailcommon/src/CFSMailAddress.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 03 May 2010 12:23:15 +0300
changeset 20 ecc8def7944a
parent 18 578830873419
child 30 759dc5235cdb
permissions -rw-r--r--
Revision: 201015 Kit: 201018

/*
* Copyright (c) 2007-2008 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:  common email address object
*
*/


//<cmail>
#include <nmcommonheaders.h>
#include "emailtrace.h"
#include "CFSMailAddress.h"
//</cmail>

//<qmail>
#include "nmaddress.h"
//</qmail>

// ================= MEMBER FUNCTIONS ==========================================
// -----------------------------------------------------------------------------
// CFSMailAddress::NewLC
// -----------------------------------------------------------------------------
EXPORT_C CFSMailAddress* CFSMailAddress::NewLC()
    {
    FUNC_LOG;
    CFSMailAddress* adr = new (ELeave) CFSMailAddress();
    CleanupStack::PushL(adr);
    adr->ConstructL();
    return adr;
    } 

// -----------------------------------------------------------------------------
// CFSMailAddress::NewL
// -----------------------------------------------------------------------------
EXPORT_C CFSMailAddress* CFSMailAddress::NewL()
    {
    FUNC_LOG;
    CFSMailAddress* adr =  CFSMailAddress::NewLC();
    CleanupStack::Pop(adr);
    return adr;
    }

// <qmail>
// -----------------------------------------------------------------------------
// CFSMailAddress::NewL
// -----------------------------------------------------------------------------
EXPORT_C CFSMailAddress* CFSMailAddress::NewL( const NmAddress& aNmAddress )
	{
    FUNC_LOG;
    CFSMailAddress* adr = new (ELeave) CFSMailAddress();
    CleanupStack::PushL(adr);
    adr->ConstructL(aNmAddress);
    CleanupStack::Pop(adr);
    return adr;
	}
// </qmail>

// -----------------------------------------------------------------------------
// CFSMailAddress::ConstructL
// -----------------------------------------------------------------------------
void CFSMailAddress::ConstructL()
    {
    FUNC_LOG;
// <qmail>
    // Construction of shared data object
    iNmPrivateAddress = new NmAddressPrivate();
// </qmail>
    }
	
// <qmail>
// -----------------------------------------------------------------------------
// CFSMailAddress::ConstructL
// --------------------------------_--------------------------------------------
void CFSMailAddress::ConstructL( const NmAddress& aNmAddress )
	{
    FUNC_LOG;
    // shared data object
    iNmPrivateAddress = aNmAddress.d;
	}
// </qmail>

// -----------------------------------------------------------------------------
// CFSMailAddress::CFSMailAddress
// -----------------------------------------------------------------------------
CFSMailAddress::CFSMailAddress()
    {
    FUNC_LOG;
// <qmail>
// Unnecessary members initialization removed: iEmailAddress, iDisplayName
// </qmail>
    }

// -----------------------------------------------------------------------------
// CFSMailAddress::~CFSMailAddress
// -----------------------------------------------------------------------------
EXPORT_C CFSMailAddress::~CFSMailAddress()
    {
    FUNC_LOG;
// <qmail>
// Unnecessary members destruction removed: iEmailAddress, iDisplayName
// </qmail>
        }

// -----------------------------------------------------------------------------
// CFSMailAddress::GetEmailAddress
// -----------------------------------------------------------------------------
EXPORT_C TDesC& CFSMailAddress::GetEmailAddress() const
    {
    FUNC_LOG;
// <qmail>
    iEmailAddressPtr.Set(reinterpret_cast<const TUint16*> (iNmPrivateAddress->mAddress.utf16()),
        iNmPrivateAddress->mAddress.length());
    return iEmailAddressPtr;
// </qmail>
    }

// -----------------------------------------------------------------------------
// CFSMailAddress::SetEmailAddress
// -----------------------------------------------------------------------------
EXPORT_C void CFSMailAddress::SetEmailAddress(const TDesC& aAddress)
    {
    FUNC_LOG;
// <qmail>
    QString qtEmailAddress = QString::fromUtf16(aAddress.Ptr(), aAddress.Length());
    iNmPrivateAddress->mAddress = qtEmailAddress;
// </qmail>
	}

// -----------------------------------------------------------------------------
// CFSMailAddress::GetDisplayName
// -----------------------------------------------------------------------------
EXPORT_C TDesC& CFSMailAddress::GetDisplayName() const
    {
    FUNC_LOG;
// <qmail>
    iDisplayNamePtr.Set(reinterpret_cast<const TUint16*> (iNmPrivateAddress->mDisplayName.utf16()),
        iNmPrivateAddress->mDisplayName.length());
    return iDisplayNamePtr;
// </qmail>
    }

// -----------------------------------------------------------------------------
// CFSMailAddress::SetDisplayName
// -----------------------------------------------------------------------------
EXPORT_C void CFSMailAddress::SetDisplayName(const TDesC& aDisplayName)
    {
    FUNC_LOG;
// <qmail>
    QString qtDisplayName = QString::fromUtf16(aDisplayName.Ptr(), aDisplayName.Length());
    iNmPrivateAddress->mDisplayName = qtDisplayName;
// </qmail>
	}

// <qmail>
// -----------------------------------------------------------------------------
// CFSMailAddress::GetNmAddress
// -----------------------------------------------------------------------------
EXPORT_C NmAddress CFSMailAddress::GetNmAddress()
	{
    FUNC_LOG;
    NmAddress nmAddress(iNmPrivateAddress);
    return nmAddress;
	}
// </qmail>