videoeditorengine/vedengine/videoprocessor/inc/activequeue.h
branchRCL_3
changeset 3 e0b5df5c0969
parent 0 951a5db380a0
child 7 4c409de21d23
--- a/videoeditorengine/vedengine/videoprocessor/inc/activequeue.h	Fri Jan 29 14:08:33 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +0,0 @@
-/*
-* Copyright (c) 2010 Ixonos Plc.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the "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:
-* Ixonos Plc
-*
-* Description: 
-* Data buffering and queuing support definitions, class CActiveQueue.
-*
-*/
-
-
-#ifndef     __ACTIVEQUEUE_H__
-#define     __ACTIVEQUEUE_H__
-
-
-//  INCLUDES
-
-#ifndef __E32BASE_H__
-#include <e32base.h>
-#endif
-
-
-//  FORWARD DECLARATIONS
-
-class CDataProcessor;
-class CActiveQueue;
-
-
-//#define BLOCK_GUARD_AREA
-
-
-//  CLASS DEFINITIONS
-
-// Queue block class
-class TActiveQueueBlock : public TPtr8
-{
-    TActiveQueueBlock(TUint8 *aBuf, TInt aMaxLength) : TPtr8(aBuf, aMaxLength) {};
-protected:
-    friend class CActiveQueue;
-    TActiveQueueBlock *iNextBlock; // next block in the allocated block list
-    TActiveQueueBlock *iPrevBlock; // prev. block in the allocated block list
-    TActiveQueueBlock *iNextList; // next block in the data queue / free list
-};
-
-// The queue class
-class CActiveQueue : public CBase
-{
-public: // constants
-    enum TErrorCode
-    {
-        EInternalAssertionFailure = -1000,
-        ENoWriter = -1001, 
-        ENoReader = -1002,
-        EWriteAfterStreamEnd = -1003
-    };
-
-public: // interface functions
-    // Constructors and destructor
-    CActiveQueue(TUint aNumberOfBlocks, TUint aBlockLength);
-    ~CActiveQueue();
-    void ConstructL();
-
-    // Set/remove reader
-    void SetReader(CDataProcessor *aReader, TAny *aUserPointer);
-    void RemoveReader();
-
-    // Set/remove writer
-    void SetWriter(CDataProcessor *aWriter, TAny *aUserPointer);
-    void RemoveWriter();
-
-    void ResetStreamEnd();
-    
-    // Get the number of free blocks available for new data
-    TUint NumFreeBlocks();
-
-    // Get the number of blocks with data queued
-    TUint NumDataBlocks();
-
-    // Get a free block for writing data into the queue (writer)
-    TPtr8 *GetFreeBlockL(TUint aBlockLength);
-
-    // Add a data block to the queue (writer)
-    void WriteBlock(TPtr8 *aBlock);
-
-    // Read a data block from the queue (reader)
-    TPtr8 *ReadBlock();
-
-    // Return a read block back to the empty block list (reader)
-    void ReturnBlock(TPtr8 *aBlock);
-
-    // Notify that the stream has ended (writer)
-    void WriteStreamEnd();
-
-    // Check if the writer has notified that the stream has ended (reader)
-    TBool StreamEnded();
-
-    // Testing aid: get total number of blocks
-    TUint NumBlocks() { return iNumBlocks; };
-
-
-private: // Internal methods
-    TActiveQueueBlock *AllocateBlockL();
-    void FreeBlockL(TActiveQueueBlock *aBlock);
-    
-private: // Data
-    TUint iNewBlockLength; // length of new blocks that are allocated
-    TUint iInitialBlocks; // initial number of blocks to allocate
-    
-    CDataProcessor *iReader; // the reader
-    TAny *iReaderUserPointer;
-    CDataProcessor *iWriter; // the writer
-    TAny *iWriterUserPointer;
-
-    TActiveQueueBlock *iBlocks; // the list of all allocated blocks
-    TUint iNumBlocks; // total number of blocks
-    TActiveQueueBlock *iFreeList; // the free block list
-    TUint iNumFreeBlocks; // number of free blocks
-    TActiveQueueBlock *iDataQueueHead; // the data queue head (where blocks are
-                                       // read from)
-    TActiveQueueBlock *iDataQueueTail; // the data queue tail (where blocks are
-                                       // written to
-    TUint iNumDataBlocks; // number of data blocks
-
-    TBool iStreamEnd; // has the stream ended?
-};
-
-
-#endif      //  __ACTIVEQUEUE_H__
-            
-// End of File