eventsui/eventsengine/src/evtevent.cpp
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:31:27 +0100
branchRCL_3
changeset 18 870918037e16
parent 0 522cd55cc3d7
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201033 Kit: 201035

/*
* 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:  Concrete Class for Location Events.
*
*/


// System Includes

// User Includes
#include "evtevent.h"
#include "evtaction.h"

// ================ Member funtions for CEvtEvent class ======================

// ---------------------------------------------------------------------------
// CEvtEvent::CEvtEvent
// ---------------------------------------------------------------------------
//
CEvtEvent::CEvtEvent():
	iEventId( 0 ),
	iEventStatus( EDraft ),
	iRadius( 0.1 ),
	iRepeat( EFalse )
    {    
    }
    
// ---------------------------------------------------------------------------
// CEvtEvent::~CEvtEvent
// ---------------------------------------------------------------------------
//
CEvtEvent::~CEvtEvent()
    {
    delete iSubject;
    delete iPlace;
    delete iDescription;
    if( iAction )
    	delete iAction;
    delete iLocation;
    } 
    
// ---------------------------------------------------------------------------
// CEvtEvent::NewL
// ---------------------------------------------------------------------------
//
EXPORT_C CEvtEvent* CEvtEvent::NewL()
    {
	CEvtEvent* self = NewLC( );
	CleanupStack::Pop( self );
	return self;
    }

// ---------------------------------------------------------------------------
// CEvtEvent::NewLC
// ---------------------------------------------------------------------------
//
EXPORT_C CEvtEvent* CEvtEvent::NewLC()
    {
	CEvtEvent* self = new ( ELeave )CEvtEvent( );
	CleanupStack::PushL( self );
	self->ConstructL( );
	return self;
    } 

// ---------------------------------------------------------------------------
// CEvtEvent::ConstructL
// ---------------------------------------------------------------------------
//
EXPORT_C void CEvtEvent::ConstructL()
    {
    // Allocate the Null string by default
    iSubject = KNullDesC().AllocL();
    iPlace = KNullDesC().AllocL();
    iDescription = KNullDesC().AllocL();
    iLocation = new TPosition();
    }
    
// ---------------------------------------------------------------------------
// CEvtEvent::EventId
// ---------------------------------------------------------------------------
//
EXPORT_C TEvtEventId CEvtEvent::EventId() const
    {
    return iEventId;
    } 
    
// ---------------------------------------------------------------------------
// CEvtEvent::SetEventId
// ---------------------------------------------------------------------------
//
EXPORT_C void CEvtEvent::SetEventId( const TEvtEventId aId )
    {
    iEventId = aId;
    } 
    
// ---------------------------------------------------------------------------
// CEvtEvent::Subject
// ---------------------------------------------------------------------------
//
EXPORT_C TPtrC CEvtEvent::Subject() const
    {
    return iSubject->Des();
    } 
    
// ---------------------------------------------------------------------------
// CEvtEvent::SetSubjectL
// ---------------------------------------------------------------------------
//
EXPORT_C void CEvtEvent::SetSubjectL( const TDesC& aSubject )
    {
    delete iSubject;
    iSubject = NULL;
    iSubject = aSubject.AllocL();
    } 
    
// ---------------------------------------------------------------------------
// CEvtEvent::Place
// ---------------------------------------------------------------------------
//
EXPORT_C TPtrC CEvtEvent::Place() const
    {
    return *iPlace;
    } 
    
// ---------------------------------------------------------------------------
// CEvtEvent::SetPlaceL
// ---------------------------------------------------------------------------
//
EXPORT_C void CEvtEvent::SetPlaceL( const TDesC& aPlace )
    {
    delete iPlace;
    iPlace = NULL;
    iPlace = aPlace.AllocL();
    } 
  
// ---------------------------------------------------------------------------
// CEvtEvent::EventStatus
// ---------------------------------------------------------------------------
//
EXPORT_C TEvtEventStatus CEvtEvent::EventStatus() const
    {
    return iEventStatus;
    } 
    
// ---------------------------------------------------------------------------
// CEvtEvent::SetEventStatus
// ---------------------------------------------------------------------------
//
EXPORT_C void CEvtEvent::SetEventStatus( 
                            const TEvtEventStatus aEventStatus )
    {
    iEventStatus = aEventStatus;
    } 
    
// ---------------------------------------------------------------------------
// CEvtEvent::Radius
// ---------------------------------------------------------------------------
//
EXPORT_C TReal CEvtEvent::Radius() const
    {
    return iRadius;
    }
    
// ---------------------------------------------------------------------------
// CEvtEvent::SetRadius
// radius will always be in km.
// ---------------------------------------------------------------------------
//
EXPORT_C void CEvtEvent::SetRadius( const TReal aRadius )
    {
    iRadius = aRadius;
    } 
    
// ---------------------------------------------------------------------------
// CEvtEvent::Repeat
// ---------------------------------------------------------------------------
//
EXPORT_C TBool CEvtEvent::Repeat() const
    {
    return iRepeat;
    } 
    
// ---------------------------------------------------------------------------
// CEvtEvent::SetRepeat
// ---------------------------------------------------------------------------
//
EXPORT_C void CEvtEvent::SetRepeat( const TBool aRepeat )
    {
    iRepeat = aRepeat;
    } 
    
// ---------------------------------------------------------------------------
// CEvtEvent::Description
// ---------------------------------------------------------------------------
//
EXPORT_C TPtrC CEvtEvent::Description() const
    {
    return iDescription->Des();
    } 
    
// ---------------------------------------------------------------------------
// CEvtEvent::SetDescriptionL
// ---------------------------------------------------------------------------
//
EXPORT_C void CEvtEvent::SetDescriptionL( const TDesC& aDescription )
    {
    delete iDescription;
    iDescription = NULL;
    iDescription = aDescription.AllocL();
    } 
    
// ---------------------------------------------------------------------------
// CEvtEvent::Action
// ---------------------------------------------------------------------------
//
EXPORT_C CEvtAction& CEvtEvent::Action() const
    {
    return *iAction;
    } 
    
// ---------------------------------------------------------------------------
// CEvtEvent::SetActionL
// ---------------------------------------------------------------------------
//
EXPORT_C void CEvtEvent::SetActionL( CEvtAction* aAction )
    {
	// Clear Action , if the aAction is NULL
    if( !aAction  ) 
        {
        if( iAction )
            {
            delete iAction;
            iAction = NULL;
            }
        return;
        }
		
	// Set the Action Id and String if aAction is present.	
    TInt64 id = aAction->Id();
    if(iAction)
        {
        id = iAction->Id();
        delete iAction;
    	iAction = NULL;
        }
    iAction = aAction;
    iAction->SetId( id );
    iAction->SetEvtId(EventId());
    } 
    
// ---------------------------------------------------------------------------
// CEvtEvent::HasAction
// ---------------------------------------------------------------------------
//
EXPORT_C TBool CEvtEvent::HasAction( )
	{
	return (iAction)?ETrue:EFalse;
	}

// ---------------------------------------------------------------------------
// CEvtEvent::Location
// ---------------------------------------------------------------------------
//
EXPORT_C TPosition& CEvtEvent::Location() const
    {
    return *iLocation;
    }

// ---------------------------------------------------------------------------
// CEvtEvent::HasAction
// ---------------------------------------------------------------------------
//
void CEvtEvent::SetLocationL(TPosition& aLocation)
    {
    *iLocation = aLocation;
    }
// End of File