ccservices/cmsservices/cmsengine/Client/src/cmscontactfielditem.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 02 Feb 2010 10:12:17 +0200
changeset 0 e686773b3f54
permissions -rw-r--r--
Revision: 201003 Kit: 201005

/*
* Copyright (c) 2007 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: 
*       
*
*/


#include "cmscontactfielditem.h"
#include <CVPbkDefaultAttribute.h>

// ----------------------------------------------------
// CCmsContactFieldItem::CCmsContactField
// 
// ----------------------------------------------------
//
CCmsContactFieldItem::CCmsContactFieldItem():
    iDefaultAttributeMask( 0 )
    {     
    }

// ----------------------------------------------------
// CCmsContactFieldItem::NewL
// 
// ----------------------------------------------------
//
CCmsContactFieldItem* CCmsContactFieldItem::NewL( const TDesC& aItemData )
    {
    CCmsContactFieldItem* self = new ( ELeave ) CCmsContactFieldItem();
    CleanupStack::PushL( self );
    self->ConstructL( aItemData );
    CleanupStack::Pop();
    return self;
    }

// ----------------------------------------------------
// CCmsContactFieldItem::NewL
// 
// ----------------------------------------------------
//
CCmsContactFieldItem* CCmsContactFieldItem::NewL( const TDesC8& aItemData )
    {
    CCmsContactFieldItem* self = new ( ELeave ) CCmsContactFieldItem();
    CleanupStack::PushL( self );
    self->ConstructL( aItemData );
    CleanupStack::Pop();
    return self;
    }

// ----------------------------------------------------
// CCmsContactFieldItem::ConstructL
// 
// ----------------------------------------------------
//
void CCmsContactFieldItem::ConstructL( const TDesC& aItemData )
    {
    iFieldDataBuf16 = aItemData.AllocL();
    }

// ----------------------------------------------------
// CCmsContactFieldItem::ConstructL
// 
// ----------------------------------------------------
//
void CCmsContactFieldItem::ConstructL( const TDesC8& aItemData )
    {
    iFieldDataBuf8 = aItemData.AllocL();
    }

// ----------------------------------------------------
// CCmsContactFieldItem::~CCmsContactField
// 
// ----------------------------------------------------
//
CCmsContactFieldItem::~CCmsContactFieldItem()
    {
    delete iFieldDataBuf8;
    delete iFieldDataBuf16;
    delete iFieldDataBufInfo;
    }

// ----------------------------------------------------
// CCmsContactFieldItem::Data
// 
// ----------------------------------------------------
//
EXPORT_C TPtrC CCmsContactFieldItem::Data() const
    {
    return iFieldDataBuf16 ? iFieldDataBuf16->Des() : TPtrC();      
    }

// ----------------------------------------------------
// CCmsContactFieldItem::BinaryData
// 
// ----------------------------------------------------
//
EXPORT_C TPtrC8 CCmsContactFieldItem::BinaryData() const
    {
    return iFieldDataBuf8 ? iFieldDataBuf8->Des() : TPtrC8();      
    }

// ----------------------------------------------------
// CCmsContactFieldItem::Info
// 
// ----------------------------------------------------
//
EXPORT_C TPtrC CCmsContactFieldItem::Info() const
    {
    return iFieldDataBufInfo ? iFieldDataBufInfo->Des() : TPtrC();      
    }

// ----------------------------------------------------
// CCmsContactFieldItem::SetData
// 
// ----------------------------------------------------
//
void CCmsContactFieldItem::SetData( const TDesC& aItemData )
    {
    delete iFieldDataBuf16;
    iFieldDataBuf16 = NULL;
    iFieldDataBuf16 = aItemData.AllocL();    
    }

// ----------------------------------------------------
// CCmsContactFieldItem::SetInfo
// 
// ----------------------------------------------------
//
void CCmsContactFieldItem::SetInfo( const TDesC& aItemInfo )
    {
    delete iFieldDataBufInfo;
    iFieldDataBufInfo = NULL;
    iFieldDataBufInfo = aItemInfo.AllocL();    
    }

// ----------------------------------------------------
// CCmsContactFieldItem::HasDefaultAttribute
// 
// ----------------------------------------------------
//
TBool CCmsContactFieldItem::HasDefaultAttribute( TCmsDefaultAttributeTypes aDefaultType )
    {
    return iDefaultAttributeMask & aDefaultType ? ETrue : EFalse;
    }




// end of file