diff -r 7259cf1302ad -r 169364e7e4b4 stif/TestServer/src/Printqueue.cpp --- a/stif/TestServer/src/Printqueue.cpp Tue Jul 06 16:05:13 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,282 +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: This module contains implementation of CPrintQueue -* class and TPrintQueueItem class member functions. -* -*/ - -// INCLUDE FILES -#include "PrintQueue.h" - -// EXTERNAL DATA STRUCTURES - -// EXTERNAL FUNCTION PROTOTYPES - -// CONSTANTS - -// MACROS - -// LOCAL CONSTANTS AND MACROS - -// MODULE DATA STRUCTURES - -// LOCAL FUNCTION PROTOTYPES - -// FORWARD DECLARATIONS - -// ==================== LOCAL FUNCTIONS ======================================= - -// None - -// ================= MEMBER FUNCTIONS ========================================= - - -// Initialise the queue -const TInt TPrintQueueItem::iOffset = _FOFF( TPrintQueueItem, iSlink ); - - -/* -------------------------------------------------------------------------------- - - Class: CPrintQueue - - Method: NewL - - Description: Constructs a print queue. - - Parameters: None - - Return Values: CPrintQueue* Pointer to new queue - - Errors/Exceptions: Leaves if memory allocation fails. - - Status: Approved - -------------------------------------------------------------------------------- -*/ -CPrintQueue* CPrintQueue::NewL() - { - - CPrintQueue* self = new( ELeave ) CPrintQueue; - return self; - - } - - -/* -------------------------------------------------------------------------------- - - Class: CPrintQueue - - Method: CPrintQueue - - Description: Constructor. - Initialises the queue and queue iterator. - - Parameters: None - - Return Values: None - - Errors/Exceptions: None - - Status: Approved - -------------------------------------------------------------------------------- -*/ -CPrintQueue::CPrintQueue(): - iQueue( TPrintQueueItem::iOffset ), - iQueueIterator( iQueue ) - { - - iQueueLen = 0; - - } - - - -/* -------------------------------------------------------------------------------- - - Class: CPrintQueue - - Method: ~CPrintQueue - - Description: Destructor. - - Deletes all items in queue. Function requires that it is called from - the heap to where the items are constructed. - - Parameters: None - - Return Values: None - - Errors/Exceptions: None - - Status: Approved - -------------------------------------------------------------------------------- -*/ -CPrintQueue::~CPrintQueue() - { - - TPrintQueueItem *item = NULL; - - // Delete items in queue - while(( item = Pop() ) != NULL ) - { - delete item; // TPrintQueueItem destructor does't free the memory - } - - } - - -/* -------------------------------------------------------------------------------- - - Class: CPrintQueue - - Method: Push - - Description: - - Push item to queue. If queue is full, does not add item to queue. - - Parameters: TPrintQueueItem& anItem :in: Item to push to queue - - Return Values: TInt KErrNoMemory if queue is full - KErrNone otherwise - - Errors/Exceptions: None - - Status: Approved - -------------------------------------------------------------------------------- -*/ -TInt CPrintQueue::Push( TPrintQueueItem& anItem ) - { - - if( iQueueLen < KQueueMaxLen ) - { - iQueue.AddLast( anItem ); - iQueueLen++; - - // Added successfully - return KErrNone; - } - else - { - // Do not add to queue - return KErrNoMemory; - } - - } - -/* -------------------------------------------------------------------------------- - - Class: CPrintQueue - - Method: Pop - - Description: Removes first item from queue and returns that. - if queue is empty, then return NULL. - - Parameters: None - - Return Values: TPrintQueueItem* Queue item or NULL. - - Errors/Exceptions: None - - Status: Approved - -------------------------------------------------------------------------------- -*/ -TPrintQueueItem* CPrintQueue::Pop() - { - - TPrintQueueItem* firstItem = NULL; - - if( !iQueue.IsEmpty() ) - { - firstItem = iQueue.First(); - iQueue.Remove( *firstItem ); - iQueueLen--; - } - - return( firstItem ); - - } - -/* -------------------------------------------------------------------------------- - - Class: CPrintQueue - - Method: Count - - Description: Returns the queue size. - - Parameters: None - - Return Values: TInt Count - - Errors/Exceptions: None - - Status: Approved - -------------------------------------------------------------------------------- -*/ -TInt CPrintQueue::Count() - { - - return( iQueueLen ); - - } - -/* -------------------------------------------------------------------------------- - - Class: TPrintQueueItem - - Method: TPrintQueueItem - - Description: Constructor - - C++ default constructor can NOT contain any code, that - might leave. - - Parameters const TInt aPriority :in: Priority - const TStifInfoName& aText1 :in: Description field - const TName& aText2 :in: Text field - - Return Values: None - - Errors/Exceptions: None - - Status: Approved - -------------------------------------------------------------------------------- -*/ -TPrintQueueItem::TPrintQueueItem( const TInt aPriority, - const TStifInfoName& aText1, - const TName& aText2 ) - { - - iPriority = aPriority; - iData1 = aText1; - iData2 = aText2; - - } - -// End of File