wvuing/wvuieng/EngSrc/CCAInvitation.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 26 Jan 2010 11:50:09 +0200
changeset 2 7b3b89e6be20
parent 0 094583676ce7
permissions -rw-r--r--
Revision: 201001 Kit: 201004

/*
* Copyright (c) 2002-2005 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:  Used when inviting to chats
*
*/


// INCLUDE FILES
#include "CCAInvitation.h"

// ========================== MEMBER FUNCTIONS =================================

//------------------------------------------------------------------------------
// CCAInvitation::CCAInvitation
// C++ default constructor can NOT contain any code, that might leave.
//------------------------------------------------------------------------------
CCAInvitation::CCAInvitation( TInt aValidityPeriod )
        : iTimeout( aValidityPeriod )
    {
    // store the time this invitation was received
    iCreated.HomeTime();
    }

//------------------------------------------------------------------------------
// CCAInvitation::ConstructL
// Symbian OS default constructor can leave.
//------------------------------------------------------------------------------
void CCAInvitation::ConstructL( const TDesC& aInviteID,
                                const TDesC& aUserID,
                                const TDesC& aGroupId,
                                const TDesC& aScreenName,
                                const TDesC& aGroupName,
                                const TDesC& aMessage )
    {
    iInviteID   = aInviteID.AllocL();
    iUserID     = aUserID.AllocL();
    iGroupID	= aGroupId.AllocL();
    iScreenName = aScreenName.AllocL();
    iGroupName  = aGroupName.AllocL();
    iMessage    = aMessage.AllocL();
    }

//------------------------------------------------------------------------------
// CCAInvitation::NewL
// Two-phased constructor.
//------------------------------------------------------------------------------
CCAInvitation* CCAInvitation::NewL(
    const TDesC& aInviteID,
    const TDesC& aUserID,
    const TDesC& aGroupID,
    const TDesC& aScreenName,
    const TDesC& aGroupName,
    const TDesC& aMessage,
    TInt   aValidityPeriod /*= 0*/ )
    {
    CCAInvitation* self = new ( ELeave ) CCAInvitation( aValidityPeriod );

    CleanupStack::PushL( self );
    self->ConstructL( aInviteID, aUserID, aGroupID, aScreenName, aGroupName,
                      aMessage );
    CleanupStack::Pop( self );

    return self;
    }

//------------------------------------------------------------------------------
// CCAInvitation::~CCAInvitation
// Destructor
//------------------------------------------------------------------------------
CCAInvitation::~CCAInvitation()
    {
    delete iInviteID;
    delete iUserID;
    delete iGroupID;
    delete iScreenName;
    delete iGroupName;
    delete iMessage;
    }

// -----------------------------------------------------------------------------
// CCAInvitation::AddReadObserver()
// -----------------------------------------------------------------------------
//
void CCAInvitation::AddReadObserver( MCAInviteReadObserver* aObserver )
    {
    iObserver = aObserver;
    }

// -----------------------------------------------------------------------------
// CCAInvitation::InviteID()
// -----------------------------------------------------------------------------
//
const TDesC& CCAInvitation::InviteID() const
    {
    return *iInviteID;
    }

// -----------------------------------------------------------------------------
// CCAInvitation::UserID()
// -----------------------------------------------------------------------------
//
const TDesC& CCAInvitation::UserID() const
    {
    return *iUserID;
    }

// -----------------------------------------------------------------------------
// CCAInvitation::ScreenName()
// -----------------------------------------------------------------------------
//
const TDesC& CCAInvitation::ScreenName() const
    {
    return *iScreenName;
    }

// -----------------------------------------------------------------------------
// CCAInvitation::GroupName()
// -----------------------------------------------------------------------------
//
const TDesC& CCAInvitation::GroupName() const
    {
    return *iGroupName;
    }

// -----------------------------------------------------------------------------
// CCAInvitation::GroupId()
// -----------------------------------------------------------------------------
//
const TDesC& CCAInvitation::GroupId() const
    {
    return *iGroupID;
    }

// -----------------------------------------------------------------------------
// CCAInvitation::Message()
// -----------------------------------------------------------------------------
//
const TDesC& CCAInvitation::Message() const
    {
    return *iMessage;
    }

// -----------------------------------------------------------------------------
// CCAInvitation::Timeout()
// -----------------------------------------------------------------------------
//
TInt CCAInvitation::Timeout() const
    {
    return iTimeout;
    }

// -----------------------------------------------------------------------------
// CCAInvitation::ReceivedAt()
// -----------------------------------------------------------------------------
//
TTime CCAInvitation::ReceivedAt() const
    {
    return iCreated;
    }

// -----------------------------------------------------------------------------
// CCAInvitation::SetInvitationAsReadL()
// -----------------------------------------------------------------------------
//
void CCAInvitation::SetInvitationAsReadL()
    {
    iRead = ETrue;

    if ( iObserver )
        {
        iObserver->HandleInviteReadL();
        }
    }

// -----------------------------------------------------------------------------
// CCAInvitation::IsRead()
// -----------------------------------------------------------------------------
//
TBool CCAInvitation::IsRead() const
    {
    return iRead;
    }


//  End of File