00001 // Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). 00002 // All rights reserved. 00003 // This component and the accompanying materials are made available 00004 // under the terms of "Eclipse Public License v1.0" 00005 // which accompanies this distribution, and is available 00006 // at the URL "http://www.eclipse.org/legal/epl-v10.html". 00007 // 00008 // Initial Contributors: 00009 // Nokia Corporation - initial contribution. 00010 // 00011 // Contributors: 00012 // 00013 // Description: 00014 // Contains the definition of the CProducer class. 00015 // 00016 00017 00018 00022 #ifndef __PRODUCER_H__ 00023 #define __PRODUCER_H__ 00024 00025 #include "globals.h" 00026 #include "queue.h" 00027 00034 class CProducer : public CBase 00035 { 00036 public: 00037 static CProducer* NewL(CConsoleBase* aConsole,CQueue* aTokens); 00038 void ConstructL(CConsoleBase* aConsole,CQueue* aTokens); 00039 static TInt ProdThreadFunc(TAny* aPtr); 00040 void ResumeProd(); 00041 void Display(); 00042 void Produce(); 00043 ~CProducer(); 00044 static TInt InsertFunction(TAny* aPtr); 00045 private: 00046 CProducer(); 00047 private: 00053 CQueue* iQueue; 00058 RThread iProdThread; 00064 CPeriodic* iPeriodicProd; 00068 CConsoleBase* iConsole; 00069 }; 00070 00071 #endif
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.