diff -r 666f914201fb -r 2fe1408b6811 epoc32/include/eiksrv.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/epoc32/include/eiksrv.h Tue Mar 16 16:12:26 2010 +0000 @@ -0,0 +1,263 @@ +// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// 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 +// which accompanies this distribution, and is available +// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// + +#ifndef __EIKSRV_H__ +#define __EIKSRV_H__ + +#include +#include +#include +#include +#include +#include + +class CDictionaryFileStore; +class CVwsSessionWrapper; +class CEikDebugPreferences; + +const TInt KBufferExpansionRequired = 10; // Random number chosen to indicate buffer expansion on the client side. + +/** +@internalComponent +*/ +enum TEikAppUiServPanic + { + EEikSrvDefault, + EEikSrvSvrCreateServer, // no longer used + EEikSrvSvrStartServer, + EEikSrvSrvNotFound, + EEikSrvBadDescriptor, + EEikSrvIllegalError, + EEikSrvBadRequestSequence + }; + +class CEikServAppUiSession; + +NONSHARABLE_CLASS(CEikServAppUiServer) : public CPolicyServer +/** +@internalComponent +*/ + { + friend class CEikServAppUiSession; +public: + enum {EPriority=EPriorityAbsoluteHigh}; + IMPORT_C static CEikServAppUiServer* NewL(); + virtual CSession2* NewSessionL(const TVersion &aVersion,const RMessage2& aMessage) const; + static TInt ThreadFunction(TAny* aStarted); + CEikAppUi& AppUi(); // non-inline (and non-exported) so that it cannot be accessed outside of the DLL + ~CEikServAppUiServer(); +private: + CEikServAppUiServer(TInt aPriority=EPriority); + void ConstructL(); + CEikServAppUiSession* NewSessionL(); +private: + CEikAppUi* iAppUi; + CEikDebugPreferences* iDebugPreferences; + }; + +class MEikServAppUiSessionHandler +/** +@publishedPartner +@released +*/ + { +public: + virtual void NotifyAlarmServerOfTaskChangeL() = 0; + virtual void LaunchTaskListL() = 0; + virtual void CycleTasksL(enum TTaskCycleDirection aDirection) = 0; + virtual void SetStatusPaneFlags(TInt aFlags) = 0; + virtual void SetStatusPaneLayoutL(TInt aLayoutResId) = 0; + virtual void BlankScreenL() = 0; + virtual void UnblankScreen() = 0; + virtual void EnableTaskListL() = 0; + virtual void Extension(TUid aExtensionUid,const TDesC8& aBuffer,RMessagePtr2 aMessage) = 0; +protected: + IMPORT_C MEikServAppUiSessionHandler(); +private: + IMPORT_C virtual void MEikServAppUiSessionHandler_Reserved1(); + IMPORT_C virtual void MEikServAppUiSessionHandler_Reserved2(); +private: + TInt iMEikServAppUiSessionHandler_Reserved1; + }; + +class CEikServAppUiSession : public CSession2 +/** +@publishedPartner +@released +*/ + { +public: + IMPORT_C CEikServAppUiSession(MEikServAppUiSessionHandler* aHandler); + IMPORT_C ~CEikServAppUiSession(); + IMPORT_C virtual void ConstructL(); + IMPORT_C virtual void ServiceL(const RMessage2& aMessage); + IMPORT_C virtual void ServiceError(const RMessage2& aMessage,TInt aError); +private: + void PanicClient(const RMessage2& aMessage, TEikAppUiServPanic aCode); + inline CEikServAppUiServer& Server() {return *STATIC_CAST(CEikServAppUiServer*,CONST_CAST(CServer2*,CSession2::Server()));} +protected: + IMPORT_C MEikServAppUiSessionHandler* SessionHandler() const; +protected: + CEikServAppUiServer* iAppUiServer; + TBool iScreenBlanked; + MEikServAppUiSessionHandler* iSessionHandler; +private: // below are old obsolete member variables, kept for binary compatibility + TInt iNotUsed1; + TInt iNotUsed2; + }; + + +NONSHARABLE_CLASS(CEikPasswordModeCategory) : public CBase +/** Gives access to the system's password mode. + +The password mode can be passed to a password window, see RWindowBase::PasswordWindow(). +This is a window that requires the user to enter a password before any further actions can +be carried out. + +The possible password modes are enumerated in TPasswordMode. + +@publishedPartner +@released */ + { +public: + IMPORT_C static CEikPasswordModeCategory* NewLC(RFs& aFs); + IMPORT_C ~CEikPasswordModeCategory(); + IMPORT_C void GetPasswordModeL(TPasswordMode& aMode) const; + IMPORT_C void SetPasswordModeL(TPasswordMode aMode); +private: + CEikPasswordModeCategory(); + void ConstructL(RFs& aFs); +private: + CDictionaryFileStore* iStore; + }; + +class CEikServNotifyServer; +class CNotifierServerExtended; +class CEikServBackupServer; +class CEikServAlarmAlertServer; +class CEikKeyWindow; +class CEikUndertaker; +class CEikPasswordControl; +class CEikTaskListDialog; +class MEikServNotifyAlert; +class MEikServAlarmFactory; +class CEikServDllClose; + +NONSHARABLE_CLASS(TEikServCtrlFactories) +/** +@publishedPartner +@released +*/ + { +public: + inline TEikServCtrlFactories(); + inline TEikServCtrlFactories(MEikServNotifyAlert* aAlert,MEikServAlarmFactory* aAlarmAlert); +public: + MEikServNotifyAlert* iAlert; + MEikServAlarmFactory* iAlarmAlert; // does not own anything +private: + TInt iTEikServCtrlFactories_Reserved1; + }; + +class MEikServAppUiSessionFactory +/** +@publishedPartner +@released +*/ + { +public: + virtual CEikServAppUiSession* CreateSessionL() = 0; +protected: + IMPORT_C MEikServAppUiSessionFactory(); +private: + IMPORT_C virtual void MEikServAppUiSessionFactory_Reserved1(); + IMPORT_C virtual void MEikServAppUiSessionFactory_Reserved2(); +private: + TInt iMEikServAppUiSessionFactory_Reserved1; + }; + +NONSHARABLE_CLASS(CEikServEnv) : public CEikonEnv +/** +@publishedPartner +@released +*/ + { +public: + IMPORT_C CEikServEnv(); + IMPORT_C ~CEikServEnv(); + IMPORT_C void DestroyEnvironment(); +public: + IMPORT_C void SetEikServAppUiSessionFactory(MEikServAppUiSessionFactory* aSessionFactory); + IMPORT_C MEikServAppUiSessionFactory* EikServAppUiSessionFactory() const; + IMPORT_C TBool IsTaskListEnabled() const; + IMPORT_C void EnableTaskList(); +public: + void SetEikServer(CEikServAppUiServer* aServer); + IMPORT_C void SetUiDll(RLibrary& aDll); +private: // reserved virtuals. do not override! + IMPORT_C virtual void CEikServEnv_Reserved1(); + IMPORT_C virtual void CEikServEnv_Reserved2(); + IMPORT_C virtual void CEikServEnv_Reserved3(); + IMPORT_C virtual void CEikServEnv_Reserved4(); + IMPORT_C virtual void CEikServEnv_Reserved5(); + IMPORT_C virtual void CEikServEnv_Reserved6(); +private: // from CCoeEnv. do not override! + IMPORT_C void Reserved_1(); + IMPORT_C void Reserved_2(); +private: + RLibrary iUiDll; + CEikServAppUiServer* iServer; + MEikServAppUiSessionFactory* iSessionFactory; + TBool iIsTaskListEnabled; + TInt iCEikServEnv_Reserved1; + }; + +inline TEikServCtrlFactories::TEikServCtrlFactories() + : iAlert(NULL), iAlarmAlert(NULL) + {} + +inline TEikServCtrlFactories::TEikServCtrlFactories(MEikServNotifyAlert* aAlert,MEikServAlarmFactory* aAlarmAlert) + : iAlert(aAlert), iAlarmAlert(aAlarmAlert) + {} + +NONSHARABLE_CLASS(CEikServSecureData) : public CBase +/** +@publishedPartner +@released +*/ + { +public: + IMPORT_C static void GetInstalledFepNameL(TDes& aName); + IMPORT_C static void SetInstalledFepNameL(const TDesC& aName, TBool aRaiseFileError); + IMPORT_C static void OpenFepAttributesL(); + IMPORT_C static void GetFepAttributeL(TUid aAttribUid, TDes8& aAttribData); + IMPORT_C static void SetFepAttributeL(TUid aAttribUid, const TDesC8& aAttribData); + IMPORT_C static void CommitFepAttributesL(); + IMPORT_C static void CloseFepAttributes(); + IMPORT_C static CBufBase* GetBufferedSystemColorListL(); + IMPORT_C static void SetBufferedSystemColorListL(const TDesC8& aBuffer); +private: + CEikServSecureData(); + }; + +class TErrorFlagAndId + { +public: + TInt iTextId; + TUint iFlags; + TBool iIsMemoryAllocatedByErrResolver; + }; + +#endif // __EIKSRV_H__