epoc32/include/eiksrv.h
branchSymbian2
changeset 2 2fe1408b6811
--- /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__