diff -r 86a2e675b80a -r 813b186005b6 hti/HtiFramework/src/HtiMessageQueue.cpp --- a/hti/HtiFramework/src/HtiMessageQueue.cpp Mon Jun 28 15:36:07 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,125 +0,0 @@ -/* -* Copyright (c) 2009 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: CHtiMessageQueue implementation -* -*/ - - -#include "HtiMessageQueue.h" - -CHtiMessageQueue* CHtiMessageQueue::NewL() - { - return new (ELeave) CHtiMessageQueue; - } - -CHtiMessageQueue::CHtiMessageQueue(): - iQueue( CHtiMessage::iLinkOffset ), - iMemoryAllocated( 0 ), - iQueueIter( iQueue ), - iIsFirst ( ETrue ) - { - } - -CHtiMessageQueue::~CHtiMessageQueue() - { - RemoveAll(); - } - -void CHtiMessageQueue::RemoveAll() - { - if ( !IsEmpty() ) - { - CHtiMessage* msg; - - iQueueIter.SetToFirst(); - while ( ( msg = iQueueIter++ ) != NULL ) - { - iQueue.Remove( *msg ); - delete msg; - } - } - iMemoryAllocated = 0; - } - -CHtiMessage* CHtiMessageQueue::Remove() - { - CHtiMessage* msg = NULL; - if ( !IsEmpty() ) - { - msg = iQueue.First(); - iQueue.Remove( *msg ); - iMemoryAllocated -= msg->Size(); - } - return msg; - } - -CHtiMessage* CHtiMessageQueue::Remove( CHtiMessage* aMsg) - { - if ( aMsg && !IsEmpty() ) - { - iQueue.Remove( *aMsg ); - iMemoryAllocated -= aMsg->Size(); - return aMsg; - } - return NULL; - } - -void CHtiMessageQueue::StartServiceIteration() - { - if ( !IsEmpty() ) - { - iQueueIter.SetToFirst(); - iIsFirst = ETrue; - } - } - -CHtiMessage* CHtiMessageQueue::GetNext() - { - CHtiMessage* msg = NULL; - if ( !IsEmpty() ) - { - while ( ( msg = iQueueIter++ ) != NULL ) - { - if ( iIsFirst ) - { - iIsFirst = EFalse; - iLastServiceUid = msg->DestinationServiceUid(); - return msg; - } - else if ( msg->DestinationServiceUid() != iLastServiceUid ) - { - iLastServiceUid = msg->DestinationServiceUid(); - return msg; - } - } - } - return msg; - } - - -void CHtiMessageQueue::Add( CHtiMessage& aMessage ) - { - iQueue.AddLast( aMessage ); - iMemoryAllocated += aMessage.Size(); - } - -TBool CHtiMessageQueue::IsEmpty() const - { - return iQueue.IsEmpty(); - } - -TInt CHtiMessageQueue::QueueSize() const - { - return iMemoryAllocated; - }