examples/ForumNokia/ThreadAndActiveObjectsEx/inc/threadaoengine.h

00001 /*
00002  * Copyright © 2008 Nokia Corporation.
00003  */
00004 
00005 
00006 #ifndef __THREAD_AO_ENGINE_H__
00007 #define __THREAD_AO_ENGINE_H__
00008 
00009 // INCLUDES
00010 #include "e32base.h" //CTimer
00011 #include "badesca.h" // CDesCaRrayFlat
00012 #include "SharedIntermediator.h"
00013 #include "ThreadListener.h"
00014 
00015 // FORWARD DECLARATIONS
00016 class SharedIntermediator;
00017 
00018 // CLASS DECLARATION
00019 
00023 class CThreadAOEngine : public CBase
00024         {
00025 public: 
00026 
00035         static CThreadAOEngine* NewL(CSharedIntermediator* aSMediator);
00036 
00041         static CThreadAOEngine* NewLC(CSharedIntermediator* aSMediator);
00042 
00047         ~CThreadAOEngine();
00048 
00055         void StartL();
00056 
00062         void Stop();
00063 
00071         static TInt ExecuteThreadOne(TAny *aPtr);
00072 
00081         static void CreateActiveSchedulerL(CSharedIntermediator* aSMediator);
00082 
00083 private: //functions
00084 
00090         void CreateThreadsL();
00091 
00092 private: // Basic two-phase Symbian OS constructors
00093 
00098         void ConstructL();
00099 
00106         CThreadAOEngine(CSharedIntermediator* aSMediator);
00107         
00108 private: // data members       
00109         
00110         // a handle for thread1
00111         RThread iThreadOne;
00112 
00113         // Create a new thread only once. True means that the thread has been created, 
00114         // false otherwise.
00115         TBool iCreatedThreads;
00116 
00117         // Shared intermediator. Transmits data between thread1 and the mainthread
00118         CSharedIntermediator* iSMediator;
00119 
00120         // Thread1 state listener. 
00121         CThreadListener* iListener;
00122         };
00123 
00124 #endif // __THREAD_AO_ENGINE_H__

Generated by  doxygen 1.6.2