00001 // Copyright (c) 2005-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 // 00015 00016 00017 #ifndef __CBASEMENUASYNC_H__ 00018 #define __CBASEMENUASYNC_H__ 00019 00020 #include <e32base.h> 00021 #include <etel3rdparty.h> 00022 #include <e32cons.h> 00023 #include "CISVAPIAsync.h" 00024 00025 _LIT(KNewLine, "\n"); 00026 _LIT(KError, "iStatus != KErrNone, Something's Wrong!\n"); 00027 00032 class CBaseMenuAsync : public CActive, public MExecAsync 00033 { 00034 00035 // Methods 00036 public: 00037 void Start(); 00038 void CompleteOwnRequest(TInt aErr); 00039 void PostOwnRequest(); 00040 virtual void Terminate(); 00041 00042 protected: 00043 CBaseMenuAsync(CConsoleBase& aConsole); 00044 00045 void GetInput(); 00046 inline CTelephony* GetTelObj() const; 00047 inline CConsoleBase* GConsole() const; 00048 virtual void DoCancel() = 0; 00049 void ConstructL(); 00050 // Data 00051 protected: 00055 TState iState; 00060 CTelephony* iTelephony; 00064 CISVAPIBase* iLastOperation; 00068 CConsoleBase* iConsole; 00069 }; 00070 00076 inline CTelephony* CBaseMenuAsync::GetTelObj() const 00077 { 00078 return iTelephony; 00079 } 00080 00086 inline CConsoleBase* CBaseMenuAsync::GConsole() const 00087 { 00088 return iConsole; 00089 } 00090 00091 #endif // __CBASEMENUASYNC_H__ 00092