ccservices/cmsservices/presencetrafficlights/src/cmsoneservicestatus.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) 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:  This class handles branded presence icons for phonebook contact
*
*/


#include <e32std.h>

#include "cmsoneservicestatus.h" 

// ----------------------------------------------------------
// CCmsOneServiceStatus::NewL
// 
// ----------------------------------------------------------
//
CCmsOneServiceStatus* CCmsOneServiceStatus::NewL( 
    const TDesC& aService,        
    const TDesC8& aBrandId,
    TInt aBrandLanguage,
    TBool aIsAvailable )   
    {
    CCmsOneServiceStatus* self = new CCmsOneServiceStatus( aIsAvailable, aBrandLanguage );
    CleanupStack::PushL( self );
    self->ConstructL( aService, aBrandId );
    CleanupStack::Pop( self );
    return self;
    }

// ----------------------------------------------------------
// CCmsOneServiceStatus::New
// 
// ----------------------------------------------------------
//
void CCmsOneServiceStatus::ConstructL( 
    const TDesC& aService, const TDesC8& aBrandId )
    {
    iService = aService.AllocL();
    iBrandId = aBrandId.AllocL(); 
    }

// ----------------------------------------------------------
// CCmsOneServiceStatus::CCmsOneServiceStatus
// 
// ----------------------------------------------------------
//
CCmsOneServiceStatus::CCmsOneServiceStatus( TBool aIsAvailable, TInt aBrandLanguage )
    : iPresenceAvailable( aIsAvailable ),
    iBrandLanguage(aBrandLanguage)
    {
    }

// ----------------------------------------------------------
// CCmsOneServiceStatus::~CCmsOneServiceStatus
// 
// ----------------------------------------------------------
//
CCmsOneServiceStatus::~CCmsOneServiceStatus()
    {
    delete iService;
    iService = NULL;    
    delete iBrandId;
    iBrandId = NULL;
    delete iElementId;
    iElementId = NULL;
    }

// ----------------------------------------------------------
// CCmsOneServiceStatus::SetAvailability
// 
// ----------------------------------------------------------
//
void CCmsOneServiceStatus::SetAvailability( TBool aIsAvailable )
    {
    iPresenceAvailable = aIsAvailable;
    }

// ----------------------------------------------------------
// CCmsOneServiceStatus::Availability
// 
// ----------------------------------------------------------
//
TBool CCmsOneServiceStatus::Availability( )
    {
    return iPresenceAvailable;
    }

// ----------------------------------------------------------
// CCmsOneServiceStatus::IsSameService
// 
// ----------------------------------------------------------
//
TBool CCmsOneServiceStatus::IsSameService( const TDesC& aService )
    {
    TBool ret(EFalse);
    if ( !aService.CompareF( ServiceName() ))
        {
        ret = ETrue;
        }
    return ret;
    }

// ----------------------------------------------------------
// CCmsOneServiceStatus::BrandId
// ----------------------------------------------------------
//
TPtrC8 CCmsOneServiceStatus::BrandId( )
    {
    return iBrandId? iBrandId->Des() : TPtrC8();
    }

// ----------------------------------------------------------
// CCmsOneServiceStatus::Service
// 
// ----------------------------------------------------------
//
TPtrC CCmsOneServiceStatus::ServiceName( )
    {
    return iService? iService->Des() : TPtrC();
    }

// ----------------------------------------------------------
// CCmsOneServiceStatus::SetElementL
// 
// ----------------------------------------------------------
//
void CCmsOneServiceStatus::SetElementL( const TDesC8& aElementId )
    {
    delete iElementId;
    iElementId = NULL;
    iElementId = aElementId.AllocL();
    }

// ----------------------------------------------------------
// CCmsOneServiceStatus::ElementId
// 
// ----------------------------------------------------------
//
TPtrC8 CCmsOneServiceStatus::ElementId( )
    {
    return iElementId? iElementId->Des() : TPtrC8();
    }

// ----------------------------------------------------------
// CCmsOneServiceStatus::BrandLanguage
// 
// ----------------------------------------------------------
//
TInt CCmsOneServiceStatus::BrandLanguage()
    {
    return iBrandLanguage;
    }