epoc32/include/eikenv.h
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
     1.1 --- a/epoc32/include/eikenv.h	Tue Nov 24 13:55:44 2009 +0000
     1.2 +++ b/epoc32/include/eikenv.h	Tue Mar 16 16:12:26 2010 +0000
     1.3 @@ -1,1 +1,493 @@
     1.4 -eikenv.h
     1.5 +// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
     1.6 +// All rights reserved.
     1.7 +// This component and the accompanying materials are made available
     1.8 +// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
     1.9 +// which accompanies this distribution, and is available
    1.10 +// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
    1.11 +//
    1.12 +// Initial Contributors:
    1.13 +// Nokia Corporation - initial contribution.
    1.14 +//
    1.15 +// Contributors:
    1.16 +//
    1.17 +// Description:
    1.18 +//
    1.19 +
    1.20 +#ifndef __EIKENV_H__
    1.21 +#define __EIKENV_H__
    1.22 +
    1.23 +#include <uikon.hrh>
    1.24 +#include <coemain.h>
    1.25 +#include <coedef.h>
    1.26 +#include <eikdef.h>
    1.27 +#include <gulalign.h>
    1.28 +#include <apaflrec.h>
    1.29 +#include <apacmdln.h>
    1.30 +#include <badesca.h>
    1.31 +#include <baerrhan.h>
    1.32 +#include <gulcolor.h>
    1.33 +#include <eikdgfty.h>
    1.34 +#include <eikaufty.h>
    1.35 +#include <eiklibry.h>
    1.36 +#include <eikamnt.h>
    1.37 +#include <lafmain.h>
    1.38 +#include <eikvcurs.h>
    1.39 +#include <babitflags.h>
    1.40 +#include <eikpicturefactory.h>
    1.41 +
    1.42 +class CEikProcess;
    1.43 +class MEikInfoMsgWin;
    1.44 +class MEikBusyMsgWin;
    1.45 +class CEikAppUi;
    1.46 +class CEikHotKeyTable;
    1.47 +class CCoeControl;
    1.48 +class CParaFormatLayer;
    1.49 +class CCharFormatLayer;
    1.50 +class CCoeBrushAndPenContext;
    1.51 +class CEikCommandButton;
    1.52 +class CPrintSetup;
    1.53 +class CDictionaryStore;
    1.54 +class CApaWindowGroupName;
    1.55 +class CEikErrorIdler;
    1.56 +class CEikApplication;
    1.57 +class MEikInfoDialog;
    1.58 +class MEikAlertWin;
    1.59 +class CEikDialog;
    1.60 +class MEikDebugKeys;
    1.61 +class CEikLibrary;
    1.62 +class MEikAppUiFactory;
    1.63 +class MEikIrFactory;
    1.64 +class CGulIcon;
    1.65 +class CApaMaskedBitmap;
    1.66 +class CEikLogicalBorderProxy;
    1.67 +class CEikLafEnv;
    1.68 +class TLogicalFont;
    1.69 +class CEikPictureFactory;
    1.70 +class CEikEnvExtra;
    1.71 +class TApaApplicationFactory;
    1.72 +class CEikAppServer;
    1.73 +class CLafSystemFont;
    1.74 +class RApaLsSession;
    1.75 +
    1.76 +/**
    1.77 +@publishedAll
    1.78 +@released
    1.79 +*/
    1.80 +typedef void (*TRequestDialogFunc)();
    1.81 +
    1.82 +/**
    1.83 +@internalComponent
    1.84 +*/
    1.85 +const TUid KUikonLibraryUid = {KUidUikonLibraryValue};
    1.86 +
    1.87 +/**
    1.88 +Creates the CEikLibrary interface object by calling the first ordinal function which is mapped to NewL method.
    1.89 +
    1.90 +The function leaves with KErrBadLibraryEntryPoint if the ordinal 1 function 
    1.91 +cannot be found.
    1.92 +
    1.93 +@publishedPartner
    1.94 +@released
    1.95 +*/
    1.96 +typedef CEikLibrary* (*EikLibraryEntryPoint)();
    1.97 +
    1.98 +
    1.99 +/** An environment for creating controls and utility functions for manipulating 
   1.100 +them. 
   1.101 +
   1.102 +Every GUI application is provided with an instance of CEikonEnv 
   1.103 +by the framework, which can be accessed through either CEikonEnv::Static() 
   1.104 +or the iEikonEnv macro of CEikApplication.
   1.105 +
   1.106 +@publishedAll 
   1.107 +@released */
   1.108 +class CEikonEnv : public CCoeEnv
   1.109 +	{
   1.110 +public:
   1.111 +	enum TErrorValidity
   1.112 +		{ EErrorNumValid, EErrorNumInvalid };
   1.113 +public: 
   1.114 +	// Properties
   1.115 +	IMPORT_C static TVersion Version();
   1.116 +	inline static CEikonEnv* Static();
   1.117 +	// Construction and destruction
   1.118 +	IMPORT_C ~CEikonEnv();
   1.119 +	IMPORT_C CEikonEnv();
   1.120 +	IMPORT_C void ConstructL();
   1.121 +	IMPORT_C void ConstructL(TBool aInitialFocusState);
   1.122 +	IMPORT_C void ConstructL(TBool aInitialFocusState, TInt aWindowGroupID);
   1.123 +	IMPORT_C void ConstructAppFromCommandLineL(const TApaApplicationFactory& aApplicationFactory, const CApaCommandLine& aCommandLine);
   1.124 +	IMPORT_C void ControlStackReadyL();
   1.125 +	IMPORT_C void DestroyEnvironment();
   1.126 +	//
   1.127 +	inline CEikAppUi* EikAppUi() const;
   1.128 +	inline CEikProcess* Process() const;
   1.129 +	// Legacy font support (see new TCoeFont and CCoeControl::ScreenFont())
   1.130 +	IMPORT_C const CFont* AnnotationFont() const;
   1.131 +	IMPORT_C const CFont* TitleFont() const;
   1.132 +	IMPORT_C const CFont* LegendFont() const;
   1.133 +	IMPORT_C const CFont* SymbolFont() const;
   1.134 +	IMPORT_C const CFont* DenseFont() const;
   1.135 +	IMPORT_C const CFont* Font(const TLogicalFont& aLogicalFont) const;
   1.136 +	IMPORT_C void UpdateSystemFontsL();
   1.137 +	// System bitmaps
   1.138 +	IMPORT_C const CFbsBitmap* TexturedBitmap() const;			// deprecated
   1.139 +	IMPORT_C const CFbsBitmap* GrayBitmap() const;				// deprecated
   1.140 +	IMPORT_C const CFbsBitmap* OptionBitmap() const;			// deprecated
   1.141 +	IMPORT_C const CFbsBitmap* HighlightedOptionBitmap() const;
   1.142 +	IMPORT_C const CFbsBitmap* OptionMaskBitmap() const;		// deprecated
   1.143 +	IMPORT_C const CFbsBitmap* Bitmap(TUid aUidBmp) const;
   1.144 +public:
   1.145 +	IMPORT_C TBool ConfirmLossOfAllChangesL() const;
   1.146 +	
   1.147 +	IMPORT_C MPictureFactory* PictureFactory() const;
   1.148 +	IMPORT_C MEikPictureFactory* ExtendedPictureFactory(TUid aPictureType) const;
   1.149 +	IMPORT_C void AddPictureFactoryL(MEikPictureFactory& aFactory);
   1.150 +	IMPORT_C void RemovePictureFactory(TUid aFactoryId);
   1.151 +	// Alert dialogs
   1.152 +	IMPORT_C void AlertWin(const TDesC& aMsg);
   1.153 +	IMPORT_C void AlertWin(const TDesC& aMsg1, const TDesC& aMsg2);
   1.154 +	inline const MEikAlertWin* Alert() const;
   1.155 +	IMPORT_C void SetAlertWin(MEikAlertWin* aAlertWin);
   1.156 +	// Error handling
   1.157 +	IMPORT_C void LeaveWithInfoMsg(TInt aResourceId,...);
   1.158 +	IMPORT_C void LeaveWithErrorContext(TInt aError, const TDesC& aContextText);		// deprecated
   1.159 +	IMPORT_C void GetErrorText(TDes& aDes,TInt aError) const;
   1.160 +	IMPORT_C TErrorValidity GetErrorText(TDes& aErrorText, TInt aError, TUid aAppUid) const;
   1.161 +	IMPORT_C TErrorValidity GetErrorTextAndTitle(TDes& aErrorText, TInt aError, TDes& aTitleText) const;
   1.162 +	IMPORT_C void ResolveError(TInt aError, TUid aAppUid = KNullUid) const;
   1.163 +	IMPORT_C void NotifyIdleErrorWhileRedrawing(TInt aError);
   1.164 +	IMPORT_C void NotifyIdleError(TInt aError, TInt aContextResourceId);
   1.165 +	IMPORT_C void HandleErrorWithContext(TInt aError,TInt aContextResourceId);
   1.166 +	// Info prints
   1.167 +	IMPORT_C void InfoMsg(const TDesC& aDes);
   1.168 +	IMPORT_C void InfoMsgWithAlignment(TGulAlignment aCorner,const TDesC& aDes);
   1.169 +	IMPORT_C void InfoMsg(TInt aResourceId, ...);
   1.170 +	IMPORT_C void InfoMsg(TInt aResourceId, VA_LIST aList);
   1.171 +	IMPORT_C void InfoMsgWithAlignment(TGulAlignment aCorner, TInt aResourceId,...);
   1.172 +	IMPORT_C void InfoMsgWithAlignment(TGulAlignment aCorner, TInt aResourceId, VA_LIST aList);
   1.173 +	IMPORT_C void InfoMsgWithDuration(const TDesC& aDes, TTimeIntervalMicroSeconds32 aDuration);
   1.174 +	IMPORT_C void InfoMsgWithDuration(TInt aResourceId, TTimeIntervalMicroSeconds32 aDuration, ...);
   1.175 +	IMPORT_C void InfoMsgWithDuration(TInt aResourceId, TTimeIntervalMicroSeconds32 aDuration, VA_LIST aList);
   1.176 +	IMPORT_C void InfoMsgWithAlignmentAndDuration(TGulAlignment aCorner, const TDesC& aDes, TTimeIntervalMicroSeconds32 aDuration);
   1.177 +	IMPORT_C void InfoMsgWithAlignmentAndDuration(TGulAlignment aCorner, TInt aResourceId, TTimeIntervalMicroSeconds32 aDuration, ...);
   1.178 +	IMPORT_C void InfoMsgWithAlignmentAndDuration(TGulAlignment aCorner, TInt aResourceId, TTimeIntervalMicroSeconds32 aDuration, VA_LIST aList);
   1.179 +	IMPORT_C void InfoMsgCancel();
   1.180 +	IMPORT_C void VerboseInfoMsg(const TDesC& aDes);
   1.181 +	IMPORT_C void SetVerboseInfoReporting(TBool aVerbose);	// deprecated
   1.182 +	// Busy messages
   1.183 +	IMPORT_C void BusyMsgL(const TDesC& aDes);
   1.184 +	IMPORT_C void BusyMsgL(const TDesC& aDes, TGulAlignment aCorner);
   1.185 +	IMPORT_C void BusyMsgL(TInt aResourceId);
   1.186 +	IMPORT_C void BusyMsgL(const TDesC& aDes, TTimeIntervalMicroSeconds32 aInitialDelay);
   1.187 +	IMPORT_C void BusyMsgL(const TDesC& aDes, TGulAlignment aCorner, TTimeIntervalMicroSeconds32 aInitialDelay);
   1.188 +	IMPORT_C void BusyMsgL(TInt aResourceId, TTimeIntervalMicroSeconds32 aInitialDelay);
   1.189 +	IMPORT_C void BusyMsgCancel();
   1.190 +	// Query dialogs
   1.191 +	IMPORT_C static TBool QueryWinL(const TDesC& aFirstLine, const TDesC& aSecondLine);
   1.192 +	IMPORT_C TBool QueryWinL(TInt aFirstLineId, TInt aSecondLineId = 0) const;
   1.193 +	IMPORT_C void SetQueryDialog(MEikInfoDialog* aQueryDialog);
   1.194 +	IMPORT_C void SetRequestQueryDialogFunc(TRequestDialogFunc aQueryDialogFunc);
   1.195 +	// Info dialogs
   1.196 +	IMPORT_C static void InfoWinL(const TDesC& aFirstLine, const TDesC& aSecondLine);
   1.197 +	IMPORT_C void InfoWinL(TInt aFirstLineId, TInt aSecondLineId = 0) const;
   1.198 +	IMPORT_C void SetInfoDialog(MEikInfoDialog* aInfoDialog);
   1.199 +	IMPORT_C void SetRequestInfoDialogFunc(TRequestDialogFunc aInfoDialogFunc);
   1.200 +	IMPORT_C void AllocInfoMsg();
   1.201 +	IMPORT_C void WservAllocInfoMsg();
   1.202 +	IMPORT_C void FservAllocInfoMsg();
   1.203 +	// Sound notificatons
   1.204 +	IMPORT_C static void Beep();	// deprecated
   1.205 +	// Bitmap  utilities
   1.206 +	IMPORT_C CWsBitmap* CreateBitmapL(const TDesC& aFileName, TInt aId);
   1.207 +	IMPORT_C CWsBitmap* CreateBitmapL(const TDesC& aFileName, TInt aId, TBool aShowDlgIfErr);
   1.208 +	IMPORT_C CGulIcon* CreateIconL(const TDesC& aFileName, TInt aBitmapId, TInt aMaskId = KErrNotFound);
   1.209 +	IMPORT_C static CGulIcon* CreateIconFromMaskedBitmapL(const CApaMaskedBitmap& aApaMaskedBitmap);
   1.210 +	// Debugging
   1.211 +	IMPORT_C void SetDebugKeys(MEikDebugKeys* aDebugKeys);
   1.212 +	// Menu utilities
   1.213 +	IMPORT_C void LaunchPopupMenuL(TInt aResourceId, const TPoint& aTargetPos, TPopupTargetPosType aTargetType = EPopupTargetTopLeft, const CEikHotKeyTable* aHotKeyTable = NULL);
   1.214 +	// Graphical effects
   1.215 +	IMPORT_C static void AddWindowShadow(CCoeControl* aWinArea);
   1.216 +	IMPORT_C RAnimDll& ClockDllL();
   1.217 +	// Text formatting parameters
   1.218 +	IMPORT_C CParaFormatLayer* SystemSingleLineParaFormatLayerL();
   1.219 +	IMPORT_C CParaFormatLayer* SystemParaFormatLayerL();
   1.220 +	IMPORT_C CCharFormatLayer* SystemCharFormatLayerL();
   1.221 +	IMPORT_C static CParaFormatLayer* NewDefaultSingleLineParaFormatLayerL();
   1.222 +	IMPORT_C static CParaFormatLayer* NewDefaultParaFormatLayerL();
   1.223 +	IMPORT_C static CCharFormatLayer* NewDefaultCharFormatLayerL();
   1.224 +  	// Control stack utilities
   1.225 +	IMPORT_C void AddDialogLikeControlToStackL(CCoeControl* aControl);
   1.226 +	IMPORT_C void AddAlertDialogLikeControlToStackL(CCoeControl* aControl);
   1.227 +	IMPORT_C void RemoveFromStack(CCoeControl* aControl);
   1.228 +	IMPORT_C void AddSleepingDialogToStackL(CCoeControl* aControl);
   1.229 +	IMPORT_C void AddSleepingAlertDialogToStackL(CCoeControl* aControl);
   1.230 +	IMPORT_C void RouseSleepingDialog(CCoeControl* aControl, TBool aRoused);
   1.231 +	// Text cursors
   1.232 +	IMPORT_C void DrawCursor(const CCoeControl* aControl, const TPoint& aPosition, TInt aWidth);
   1.233 +	IMPORT_C void DrawCursor(const CCoeControl* aControl, const TPoint& aPosition, TInt aWidth, TInt aAscent, TInt aHeight);
   1.234 +	IMPORT_C void HideCursor(const CCoeControl* aControl);
   1.235 +	// Virtual pointer device cursor
   1.236 +	IMPORT_C TEikVirtualCursor& VirtualCursor();
   1.237 +	// Control of the application's ordinal position
   1.238 +	IMPORT_C void BringForwards(TBool aForwards, TInt aPriority = ECoeWinPriorityAlwaysAtFront);
   1.239 +	IMPORT_C void SetAutoForwarding(TBool aAutoBringToForeground);
   1.240 +	// 
   1.241 +	IMPORT_C TPtrC KeyPressLabel(TInt aIndex) const;	// deprecated
   1.242 +	// Printing
   1.243 +	IMPORT_C CPrintSetup* NewDefaultPrintSetupL();
   1.244 +	IMPORT_C static void GetPrinterNamesL(CPrinterModelList* aModelNameList, CDesCArray& aPrinterNameList);
   1.245 +	// Application properties
   1.246 +	IMPORT_C void UpdateTaskNameL();
   1.247 +	IMPORT_C void SetBusy(TBool aBusy);
   1.248 +	IMPORT_C TBool IsBusy() const;
   1.249 +	IMPORT_C void SetSystem(TBool aSystem);
   1.250 +	IMPORT_C TBool IsSystem() const;
   1.251 +	IMPORT_C void SetDocNameIsAFile(TBool aDocNameIsAFile);
   1.252 +	IMPORT_C TBool DocNameIsAFile() const;
   1.253 +	IMPORT_C void SetRespondsToShutdownEvent(TBool aRespondsToShutdownEvent);
   1.254 +	IMPORT_C TBool RespondsToShutdownEvent() const;
   1.255 +	IMPORT_C void SetRespondsToSwitchFilesEvent(TBool aRespondsToSwitchFilesEvent);
   1.256 +	IMPORT_C TBool RespondsToSwitchFilesEvent() const;
   1.257 +	// Task list dialog
   1.258 +	IMPORT_C void DisplayTaskList();
   1.259 +	IMPORT_C void DismissTaskList();
   1.260 +public: // Internal (for Symbian and partners only)
   1.261 +	// Dialog factories
   1.262 +	inline MEikCDlgDialogFactory* CDlgDialogFactory() const;
   1.263 +	inline MEikPrintDialogFactory* PrintDialogFactory() const;
   1.264 +	inline MEikFileDialogFactory* FileDialogFactory() const;
   1.265 +	inline MEikIrFactory* IrFactory() const;
   1.266 +	inline void SetCDlgDialogFactory(MEikCDlgDialogFactory* aDialogFactory);
   1.267 +	inline void SetPrintDialogFactory(MEikPrintDialogFactory* aDialogFactory);
   1.268 +	inline void SetFileDialogFactory(MEikFileDialogFactory* aDialogFactory);
   1.269 +	inline void SetIrFactory(MEikIrFactory* aIrFactory);
   1.270 +	CArrayFix<TCreateByTypeFunction>* ControlFactoryFuncArray() const;
   1.271 +	// Color scheme
   1.272 +	inline CColorList& ColorList() const;
   1.273 +	inline TRgb Color(TLogicalColor aLogicalColor) const;
   1.274 +	inline void SetColor(TLogicalColor aLogicalColor, TRgb aColor);
   1.275 +	IMPORT_C TRgb ControlColor(TLogicalColor aLogicalColor,const CCoeControl& aControl) const;
   1.276 +	inline CColorArray& CustomColorArray() const;
   1.277 +	IMPORT_C CColorList* CreateSystemColorListL();
   1.278 +	IMPORT_C CColorList* CreateSystemColorListL(const CColorList& aColorList);
   1.279 +	IMPORT_C void UpdateSystemColorListL(const CColorList& aColorList);
   1.280 +	IMPORT_C CColorList* PopulateColorArrayL();
   1.281 +	// Library loading and unloading
   1.282 +	IMPORT_C TInt AddLibraryL(TCreateByTypeFunction aControlFactory, TFileName* aResourceFile);
   1.283 +	inline TInt AddLibraryL(TCreateByTypeFunction aControlFactory);
   1.284 +	inline TInt AddLibraryL(TFileName* aResourceFile);
   1.285 +	IMPORT_C void RemoveLibrary(TCreateByTypeFunction aControlFactory, TInt aResourceFileOffset);
   1.286 +	inline void RemoveLibrary(TCreateByTypeFunction aControlFactory);
   1.287 +	inline void RemoveLibrary(TInt aResourceFileOffset);
   1.288 +	// Legacy UI utilities
   1.289 +	inline TChar NudgeCharMinus() const;
   1.290 +	inline TChar NudgeCharPlus() const;
   1.291 +	// Status pane
   1.292 +	inline TInt StatusPaneCoreResId() const;
   1.293 +	inline void SetStatusPaneCoreResId(TInt aStatusPaneCoreResId);
   1.294 +	// Auto menus
   1.295 +	IMPORT_C void AddAutoMenuTitleL(CEikAutoMenuTitle* aTitle);
   1.296 +	inline CEikAutoMenuTitleArray* AutoMenuTitleArray() const;
   1.297 +	// Display mode
   1.298 +	IMPORT_C TDisplayMode DefaultDisplayMode() const;
   1.299 +public: // internal
   1.300 +	IMPORT_C MLafEnv& LafEnv() const;				// deprecated
   1.301 +	inline TInt EditableControlStandardHeight() const;
   1.302 +	IMPORT_C void SendEventToEikonServer(TInt aEvent,const TAny* aPtr,TInt aLength);
   1.303 +	// Object factories
   1.304 +	IMPORT_C MEikAppUiFactory* AppUiFactory() const;
   1.305 +	IMPORT_C MEikAppUiFactory* AppUiFactory(const CEikAppUi& aAppUi) const;
   1.306 +	IMPORT_C void SetAppUiFactoryL(MEikAppUiFactory* aAppUiFactory);
   1.307 +	IMPORT_C void AddAppUiFactoryL(MEikAppUiFactory* aAppUiFactory);
   1.308 +	IMPORT_C void RemoveAppUiFactory();
   1.309 +public: // Internal. Do not use!
   1.310 +	IMPORT_C void SetExtension(CBase* aExtension);	// deprecated
   1.311 +	inline CBase* Extension() const;				// deprecated
   1.312 +	IMPORT_C void HandleError(TInt aError);
   1.313 +	IMPORT_C void WriteInternalStateOfStackedControlsL();
   1.314 +	IMPORT_C void DoGetErrorText(TDes& aDes,TInt aError) const;
   1.315 +	IMPORT_C TErrorValidity DoGetErrorTextAndTitle(TDes& aErrorText, TInt aError, TInt& aTextId, TUint& aFlags, TDes& aTitleText, TBool aIsMemoryAllocatedByErrResolver = EFalse) const;
   1.316 +	void InitSystemBitmapsL();
   1.317 +	void UpdateColorListL();
   1.318 +	void PostAppUiInitializeL();
   1.319 +	TLanguage ApplicationLanguage() const;
   1.320 +	void PostAppUiDestroy();
   1.321 +private:
   1.322 +	IMPORT_C virtual void CEikonEnv_Reserved_1();
   1.323 +	IMPORT_C virtual void CEikonEnv_Reserved_2();
   1.324 +	IMPORT_C virtual void CEikonEnv_Reserved_3();
   1.325 +	IMPORT_C virtual void CEikonEnv_Reserved_4();
   1.326 +	IMPORT_C virtual void CEikonEnv_Reserved_5();	
   1.327 +private: // framework functions
   1.328 +	IMPORT_C void DestroyScreen();
   1.329 +	IMPORT_C void InitSystemFontsL();
   1.330 +	IMPORT_C TInt ResourceFileVersionNumber() const;
   1.331 +public:
   1.332 +	IMPORT_C MEikInfoDialog* QueryDialog() const;
   1.333 +	IMPORT_C MEikInfoDialog* InfoDialog() const;
   1.334 +public:
   1.335 +	IMPORT_C CEikAppServer* AppServer() const;
   1.336 +	IMPORT_C TBool StartedAsServerApp() const;
   1.337 +protected:
   1.338 +	friend class CEikServAppUi;
   1.339 +private: // Internal
   1.340 +	void InitSystemResourceFileL();
   1.341 +	void InitPrivateResourceFileL();
   1.342 +	void InitInfoMsgL();
   1.343 +	void PrepareBusyMsgL();
   1.344 +	void InitAlertWinL();
   1.345 +	void InitDebugKeysL();
   1.346 +	TErrorHandlerResponse PrepareToHandleError(TInt aError);
   1.347 +	void DoHandleError(TErrorHandlerResponse aType);
   1.348 +	static TInt IdleErrorCallBack(TAny* aThis);
   1.349 +	void InitColorSchemeL();
   1.350 +	void LoadParserListL();
   1.351 +	void LoadLibrariesL();
   1.352 +	void CloseLibraries();
   1.353 +	TRequestDialogFunc RequestQueryDialogFunc();
   1.354 +	TRequestDialogFunc RequestInfoDialogFunc();
   1.355 +	void SetAppReady();
   1.356 +public:
   1.357 +	TBool IsEiksrvThread() const;
   1.358 +private:
   1.359 +	TBool InfoWinOrQueryWinL(TInt aFirstLineId,TInt aSecondLineId,TBool aIsQueryWin=EFalse) const;
   1.360 +	void SetCommandLineDebugMemFailL(const CApaCommandLine& aCommandLine);
   1.361 +	void StoreAppLanguageL(const RApaLsSession& aLsSession);
   1.362 +	void ErrorContextL(TInt aError,const TDesC& aContextText);
   1.363 +private:
   1.364 +	IMPORT_C virtual void CEikonEnv_Reserved_6();
   1.365 +	IMPORT_C virtual void CEikonEnv_Reserved_7();
   1.366 +	IMPORT_C virtual void CEikonEnv_Reserved_8();
   1.367 +	IMPORT_C virtual void CEikonEnv_Reserved_9();
   1.368 +	IMPORT_C virtual void CEikonEnv_Reserved_10();	
   1.369 +private:
   1.370 +	NONSHARABLE_CLASS(TEikAppUiFactory)
   1.371 +		{
   1.372 +	public:
   1.373 +		MEikAppUiFactory* iFactory;
   1.374 +		CEikAppUi* iAppUi;
   1.375 +		};
   1.376 +private:
   1.377 +	TBitFlags iEikonEnvFlags;
   1.378 +	TInt iForwardsCount;
   1.379 +	TInt iBusyCount;
   1.380 +	CEikProcess* iProcess;
   1.381 +	RAnimDll* iClockDll;
   1.382 +	CArrayPtr<CLafSystemFont>* iFontArray;
   1.383 +	MEikInfoMsgWin* iInfoMsgWin;
   1.384 +	MEikBusyMsgWin* iBusyMsgWin;
   1.385 +	MEikAlertWin* iAlertWin;
   1.386 +	TInt iSystemResourceFileOffset;
   1.387 +	HBufC8* iKeyPressLabels;
   1.388 +	CParaFormatLayer* iSingleLineParaFormatLayer;
   1.389 +	CParaFormatLayer* iParaFormatLayer;
   1.390 +	CCharFormatLayer* iCharFormatLayer;
   1.391 +	const CCoeControl* iCursorWindow;
   1.392 +	TInt iEditableControlStandardHeight;
   1.393 +	CApaWindowGroupName* iWgName;
   1.394 +	CEikErrorIdler* iErrorIdler;
   1.395 +	TInt iPrivateResourceFileOffset;
   1.396 +	CColorList* iColorList;
   1.397 +	CEikPictureFactory* iPictureFactory;
   1.398 +	TBuf<2> iNudgeChars;
   1.399 +	MEikInfoDialog* iQueryDialog;
   1.400 +	MEikInfoDialog* iInfoDialog;
   1.401 +	TRequestDialogFunc	iQueryDialogFunc;
   1.402 +	TRequestDialogFunc	iInfoDialogFunc;
   1.403 +	CArrayFix<TCreateByTypeFunction>* iControlFactoryFuncArray;
   1.404 +	CArrayFix<TInt>* iResourceFileOffsetArray;
   1.405 +	TBool iAlertWinInitialized;
   1.406 +	MEikDebugKeys* iDebugKeys;
   1.407 +	MEikCDlgDialogFactory* iCDlgDialogFactory;
   1.408 +	MEikPrintDialogFactory* iPrintDialogFactory;
   1.409 +	MEikFileDialogFactory* iFileDialogFactory;
   1.410 +	CArrayFix<TEikAppUiFactory>* iAppUiFactoryArray;
   1.411 +	MEikIrFactory* iIrFactory;
   1.412 +	CArrayPtr<CEikLibrary>* iLibraries;
   1.413 +	TInt iEmbeddedAppLevel;
   1.414 +	TInt iAutoLoadedResourceFiles;
   1.415 +	TInt iAutoLoadedControlFactories;
   1.416 +	CBase* iExtension;
   1.417 +	TInt iStatusPaneCoreResId;
   1.418 +	CEikAutoMenuTitleArray* iAutoMenuTitleArray;
   1.419 +	TEikVirtualCursor iVirtualCursor;
   1.420 +	CEikLogicalBorderProxy* iLogicalBorderProxy;
   1.421 +	CEikLafEnv* iLafEnv;
   1.422 +	CArrayPtrFlat<CFbsBitmap>* iBitmapArray;
   1.423 +	CEikEnvExtra* iEikEnvExtra; // used to be TInt iSpare1;
   1.424 +	HBufC* iOOMErrorText;		// used to be TInt iSpare2;
   1.425 +	TInt iSpare3;
   1.426 +	};
   1.427 +
   1.428 +
   1.429 +/** Interface for launching a dialog with a title and a message, for instance a 
   1.430 +query dialog.
   1.431 +
   1.432 +Dialogs implementing this interface can be passed to CEikonEnv::SetQueryDialog() 
   1.433 +or CEikonEnv::SetInfoDialog(). 
   1.434 +
   1.435 +@publishedAll
   1.436 +@released */
   1.437 +class MEikInfoDialog
   1.438 +	{
   1.439 +public:
   1.440 +	/** Initialises and executes the dialog.
   1.441 +	
   1.442 +	@param aResource The ID of the DIALOG resource that identifies the dialog's 
   1.443 +	type. For instance, a query dialog (with Yes/No buttons) or an info dialog 
   1.444 +	(with a Continue button).
   1.445 +	@param aTitle The dialog's title.
   1.446 +	@param aMsg The message to display in the dialog.
   1.447 +	@return True if the Confirm button (or equivalent) was pressed, false if the 
   1.448 +	dialog was cancelled. */
   1.449 +	virtual TBool RunDlgLD(TInt aResource, const TDesC& aTitle, const TDesC& aMsg) = 0;
   1.450 +	};
   1.451 +
   1.452 +
   1.453 +/**
   1.454 +@publishedPartner
   1.455 +@released
   1.456 +*/
   1.457 +class MEikAlertWin
   1.458 +	{
   1.459 +public:
   1.460 +	virtual void ConstructL() = 0;
   1.461 +	virtual void RunAlert(const TDesC& aTitle, const TDesC& aMsg) = 0;
   1.462 +	virtual void Release() = 0;
   1.463 +	virtual CEikDialog* AsEikDialog() = 0;
   1.464 +	inline const CEikDialog* AsEikDialog() const;
   1.465 +	IMPORT_C virtual CCoeControl* AsCoeControl();
   1.466 +	inline const CCoeControl* AsCoeControl() const;
   1.467 +private:
   1.468 +	IMPORT_C virtual void MEikAlertWin_Reserved2();
   1.469 +	IMPORT_C virtual void MEikAlertWin_Reserved3();
   1.470 +	};
   1.471 +
   1.472 +
   1.473 +/**
   1.474 +@publishedPartner 
   1.475 +@released 
   1.476 +*/
   1.477 +class MEikDebugKeys
   1.478 +	{
   1.479 +public:
   1.480 +	virtual void ConstructL() = 0;
   1.481 +	virtual void Release() = 0;
   1.482 +private:
   1.483 +	IMPORT_C virtual void MEikDebugKeys_Reserved1();
   1.484 +	IMPORT_C virtual void MEikDebugKeys_Reserved2();
   1.485 +	IMPORT_C virtual void MEikDebugKeys_Reserved3();
   1.486 +	};
   1.487 +
   1.488 +
   1.489 +IMPORT_C void InternalizeL(TEikPortFlag& aThing,RReadStream& aStream);
   1.490 +inline RWriteStream& operator<<(RWriteStream& aStream,const TEikPortFlag& aThing)
   1.491 +	{aStream.WriteUint8L(aThing);return aStream;}
   1.492 +inline RReadStream& operator>>(RReadStream& aStream,TEikPortFlag& aThing)
   1.493 +	{InternalizeL(aThing,aStream);return aStream;}
   1.494 +
   1.495 +#include <eikenv.inl>
   1.496 +
   1.497 +#endif	// __EIKENV_H__