--- /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 <eikappui.h>
+#include <eikenv.h>
+#include <apgtask.h>
+#include <vwsappst.h>
+#include <eikunder.h>
+#include <eikcycledef.h>
+
+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__