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 __CBASEMENUSYNC_H__ 00018 #define __CBASEMENUSYNC_H__ 00019 00020 #include "CISVAPISync.h" 00021 00022 _LIT(KNewLine, "\n"); 00023 _LIT(KError, "iStatus != KErrNone, something is wrong!\n"); 00024 00029 class CBaseMenuSync : public CActive, public MExecSync 00030 { 00031 00032 // Methods 00033 public: 00034 void Start(); 00035 void CompleteOwnRequest(TInt aErr); 00036 void PostOwnRequest(); 00037 virtual void ExecComplete(); 00038 virtual void Terminate(); 00039 ~CBaseMenuSync(); 00040 00041 protected: 00042 CBaseMenuSync(CConsoleBase& aConsole); 00043 inline CTelephony* GetTelObj() const; 00044 inline CConsoleBase* GConsole() const; 00045 00046 virtual void DoCancel() = 0; 00047 void ConstructL(); 00048 00049 // Data 00050 protected: 00054 TState iState; 00059 CTelephony* iTelephony; 00063 CConsoleBase* iConsole; 00064 00065 }; 00066 00072 inline CTelephony* CBaseMenuSync::GetTelObj() const 00073 { 00074 return iTelephony; 00075 } 00076 00082 inline CConsoleBase* CBaseMenuSync::GConsole() const 00083 { 00084 return iConsole; 00085 } 00086 00087 00088 #endif // __CBASEMENUSYNC_H__ 00089