epoc32/include/eiksrv.h
author William Roberts <williamr@symbian.org>
Tue, 16 Mar 2010 16:12:26 +0000
branchSymbian2
changeset 2 2fe1408b6811
permissions -rw-r--r--
Final list of Symbian^2 public API header files
williamr@2
     1
// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
williamr@2
     2
// All rights reserved.
williamr@2
     3
// This component and the accompanying materials are made available
williamr@2
     4
// 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
williamr@2
     5
// which accompanies this distribution, and is available
williamr@2
     6
// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
williamr@2
     7
//
williamr@2
     8
// Initial Contributors:
williamr@2
     9
// Nokia Corporation - initial contribution.
williamr@2
    10
//
williamr@2
    11
// Contributors:
williamr@2
    12
//
williamr@2
    13
// Description:
williamr@2
    14
//
williamr@2
    15
williamr@2
    16
#ifndef __EIKSRV_H__
williamr@2
    17
#define __EIKSRV_H__
williamr@2
    18
williamr@2
    19
#include <eikappui.h>
williamr@2
    20
#include <eikenv.h>
williamr@2
    21
#include <apgtask.h>
williamr@2
    22
#include <vwsappst.h>
williamr@2
    23
#include <eikunder.h>
williamr@2
    24
#include <eikcycledef.h>
williamr@2
    25
williamr@2
    26
class CDictionaryFileStore;
williamr@2
    27
class CVwsSessionWrapper;
williamr@2
    28
class CEikDebugPreferences;
williamr@2
    29
williamr@2
    30
const TInt KBufferExpansionRequired = 10;		// Random number chosen to indicate buffer expansion on the client side.
williamr@2
    31
williamr@2
    32
/**
williamr@2
    33
@internalComponent 
williamr@2
    34
*/
williamr@2
    35
enum TEikAppUiServPanic
williamr@2
    36
	{
williamr@2
    37
	EEikSrvDefault,
williamr@2
    38
	EEikSrvSvrCreateServer, // no longer used
williamr@2
    39
	EEikSrvSvrStartServer,
williamr@2
    40
	EEikSrvSrvNotFound,
williamr@2
    41
	EEikSrvBadDescriptor,
williamr@2
    42
	EEikSrvIllegalError,
williamr@2
    43
	EEikSrvBadRequestSequence
williamr@2
    44
	};
williamr@2
    45
williamr@2
    46
class CEikServAppUiSession;
williamr@2
    47
williamr@2
    48
NONSHARABLE_CLASS(CEikServAppUiServer) : public CPolicyServer
williamr@2
    49
/**
williamr@2
    50
@internalComponent 
williamr@2
    51
*/
williamr@2
    52
	{
williamr@2
    53
	friend class CEikServAppUiSession;
williamr@2
    54
public:
williamr@2
    55
	enum {EPriority=EPriorityAbsoluteHigh};
williamr@2
    56
	IMPORT_C static CEikServAppUiServer* NewL();
williamr@2
    57
	virtual CSession2* NewSessionL(const TVersion &aVersion,const RMessage2& aMessage) const;
williamr@2
    58
	static TInt ThreadFunction(TAny* aStarted);
williamr@2
    59
	CEikAppUi& AppUi(); // non-inline (and non-exported) so that it cannot be accessed outside of the DLL
williamr@2
    60
	~CEikServAppUiServer();
williamr@2
    61
private:
williamr@2
    62
	CEikServAppUiServer(TInt aPriority=EPriority);
williamr@2
    63
	void ConstructL();
williamr@2
    64
	CEikServAppUiSession* NewSessionL();
williamr@2
    65
private:
williamr@2
    66
	CEikAppUi* iAppUi;
williamr@2
    67
	CEikDebugPreferences* iDebugPreferences;
williamr@2
    68
	};
williamr@2
    69
williamr@2
    70
class MEikServAppUiSessionHandler
williamr@2
    71
/**
williamr@2
    72
@publishedPartner 
williamr@2
    73
@released 
williamr@2
    74
*/
williamr@2
    75
	{
williamr@2
    76
public:
williamr@2
    77
	virtual void NotifyAlarmServerOfTaskChangeL() = 0;
williamr@2
    78
	virtual void LaunchTaskListL() = 0;
williamr@2
    79
	virtual void CycleTasksL(enum TTaskCycleDirection aDirection) = 0;
williamr@2
    80
	virtual void SetStatusPaneFlags(TInt aFlags) = 0;
williamr@2
    81
	virtual void SetStatusPaneLayoutL(TInt aLayoutResId) = 0;
williamr@2
    82
	virtual void BlankScreenL() = 0;
williamr@2
    83
	virtual void UnblankScreen() = 0;
williamr@2
    84
	virtual void EnableTaskListL() = 0;
williamr@2
    85
	virtual void Extension(TUid aExtensionUid,const TDesC8& aBuffer,RMessagePtr2 aMessage) = 0;
williamr@2
    86
protected:
williamr@2
    87
	IMPORT_C MEikServAppUiSessionHandler();
williamr@2
    88
private:
williamr@2
    89
	IMPORT_C virtual void MEikServAppUiSessionHandler_Reserved1();
williamr@2
    90
	IMPORT_C virtual void MEikServAppUiSessionHandler_Reserved2();
williamr@2
    91
private:
williamr@2
    92
	TInt iMEikServAppUiSessionHandler_Reserved1;
williamr@2
    93
	};
williamr@2
    94
williamr@2
    95
class CEikServAppUiSession : public CSession2
williamr@2
    96
/**
williamr@2
    97
@publishedPartner
williamr@2
    98
@released 
williamr@2
    99
*/
williamr@2
   100
	{
williamr@2
   101
public:
williamr@2
   102
	IMPORT_C CEikServAppUiSession(MEikServAppUiSessionHandler* aHandler);
williamr@2
   103
	IMPORT_C ~CEikServAppUiSession();
williamr@2
   104
	IMPORT_C virtual void ConstructL();
williamr@2
   105
	IMPORT_C virtual void ServiceL(const RMessage2& aMessage);
williamr@2
   106
	IMPORT_C virtual void ServiceError(const RMessage2& aMessage,TInt aError);
williamr@2
   107
private:
williamr@2
   108
	void PanicClient(const RMessage2& aMessage, TEikAppUiServPanic aCode);
williamr@2
   109
	inline CEikServAppUiServer& Server() {return *STATIC_CAST(CEikServAppUiServer*,CONST_CAST(CServer2*,CSession2::Server()));}
williamr@2
   110
protected:
williamr@2
   111
	IMPORT_C MEikServAppUiSessionHandler* SessionHandler() const;
williamr@2
   112
protected:
williamr@2
   113
	CEikServAppUiServer* iAppUiServer;
williamr@2
   114
	TBool iScreenBlanked;
williamr@2
   115
	MEikServAppUiSessionHandler* iSessionHandler;
williamr@2
   116
private: // below are old obsolete member variables, kept for binary compatibility
williamr@2
   117
	TInt iNotUsed1;
williamr@2
   118
	TInt iNotUsed2;
williamr@2
   119
	};
williamr@2
   120
williamr@2
   121
williamr@2
   122
NONSHARABLE_CLASS(CEikPasswordModeCategory) : public CBase
williamr@2
   123
/** Gives access to the system's password mode. 
williamr@2
   124
williamr@2
   125
The password mode can be passed to a password window, see RWindowBase::PasswordWindow(). 
williamr@2
   126
This is a window that requires the user to enter a password before any further actions can 
williamr@2
   127
be carried out. 
williamr@2
   128
williamr@2
   129
The possible password modes are enumerated in TPasswordMode. 
williamr@2
   130
williamr@2
   131
@publishedPartner
williamr@2
   132
@released */
williamr@2
   133
	{
williamr@2
   134
public:
williamr@2
   135
	IMPORT_C static CEikPasswordModeCategory* NewLC(RFs& aFs);
williamr@2
   136
	IMPORT_C ~CEikPasswordModeCategory();
williamr@2
   137
	IMPORT_C void GetPasswordModeL(TPasswordMode& aMode) const; 
williamr@2
   138
	IMPORT_C void SetPasswordModeL(TPasswordMode aMode);
williamr@2
   139
private:
williamr@2
   140
	CEikPasswordModeCategory();
williamr@2
   141
	void ConstructL(RFs& aFs);
williamr@2
   142
private:
williamr@2
   143
	CDictionaryFileStore* iStore;
williamr@2
   144
	};
williamr@2
   145
williamr@2
   146
class CEikServNotifyServer;
williamr@2
   147
class CNotifierServerExtended;
williamr@2
   148
class CEikServBackupServer;
williamr@2
   149
class CEikServAlarmAlertServer;
williamr@2
   150
class CEikKeyWindow;
williamr@2
   151
class CEikUndertaker;
williamr@2
   152
class CEikPasswordControl;
williamr@2
   153
class CEikTaskListDialog;
williamr@2
   154
class MEikServNotifyAlert;
williamr@2
   155
class MEikServAlarmFactory;
williamr@2
   156
class CEikServDllClose;
williamr@2
   157
williamr@2
   158
NONSHARABLE_CLASS(TEikServCtrlFactories)
williamr@2
   159
/**
williamr@2
   160
@publishedPartner 
williamr@2
   161
@released 
williamr@2
   162
*/
williamr@2
   163
	{
williamr@2
   164
public:
williamr@2
   165
	inline TEikServCtrlFactories();
williamr@2
   166
	inline TEikServCtrlFactories(MEikServNotifyAlert* aAlert,MEikServAlarmFactory* aAlarmAlert);
williamr@2
   167
public:
williamr@2
   168
	MEikServNotifyAlert* iAlert;
williamr@2
   169
	MEikServAlarmFactory* iAlarmAlert; // does not own anything
williamr@2
   170
private:
williamr@2
   171
	TInt iTEikServCtrlFactories_Reserved1;
williamr@2
   172
	};
williamr@2
   173
williamr@2
   174
class MEikServAppUiSessionFactory
williamr@2
   175
/**
williamr@2
   176
@publishedPartner 
williamr@2
   177
@released 
williamr@2
   178
*/
williamr@2
   179
	{
williamr@2
   180
public:
williamr@2
   181
	virtual CEikServAppUiSession* CreateSessionL() = 0;
williamr@2
   182
protected:
williamr@2
   183
	IMPORT_C MEikServAppUiSessionFactory();
williamr@2
   184
private:
williamr@2
   185
	IMPORT_C virtual void MEikServAppUiSessionFactory_Reserved1();
williamr@2
   186
	IMPORT_C virtual void MEikServAppUiSessionFactory_Reserved2();
williamr@2
   187
private:
williamr@2
   188
	TInt iMEikServAppUiSessionFactory_Reserved1;
williamr@2
   189
	};
williamr@2
   190
williamr@2
   191
NONSHARABLE_CLASS(CEikServEnv) : public CEikonEnv
williamr@2
   192
/**
williamr@2
   193
@publishedPartner 
williamr@2
   194
@released 
williamr@2
   195
*/
williamr@2
   196
	{
williamr@2
   197
public:
williamr@2
   198
	IMPORT_C CEikServEnv();
williamr@2
   199
	IMPORT_C ~CEikServEnv();
williamr@2
   200
	IMPORT_C void DestroyEnvironment();
williamr@2
   201
public:
williamr@2
   202
	IMPORT_C void SetEikServAppUiSessionFactory(MEikServAppUiSessionFactory* aSessionFactory);
williamr@2
   203
	IMPORT_C MEikServAppUiSessionFactory* EikServAppUiSessionFactory() const;
williamr@2
   204
	IMPORT_C TBool IsTaskListEnabled() const;
williamr@2
   205
	IMPORT_C void EnableTaskList();
williamr@2
   206
public:
williamr@2
   207
	void SetEikServer(CEikServAppUiServer* aServer);
williamr@2
   208
	IMPORT_C void SetUiDll(RLibrary& aDll);
williamr@2
   209
private: // reserved virtuals. do not override!
williamr@2
   210
	IMPORT_C virtual void CEikServEnv_Reserved1();
williamr@2
   211
	IMPORT_C virtual void CEikServEnv_Reserved2();
williamr@2
   212
	IMPORT_C virtual void CEikServEnv_Reserved3();
williamr@2
   213
	IMPORT_C virtual void CEikServEnv_Reserved4();
williamr@2
   214
	IMPORT_C virtual void CEikServEnv_Reserved5();
williamr@2
   215
	IMPORT_C virtual void CEikServEnv_Reserved6();
williamr@2
   216
private: // from CCoeEnv. do not override!
williamr@2
   217
	IMPORT_C void Reserved_1();
williamr@2
   218
	IMPORT_C void Reserved_2();
williamr@2
   219
private:
williamr@2
   220
	RLibrary iUiDll;
williamr@2
   221
	CEikServAppUiServer* iServer;
williamr@2
   222
	MEikServAppUiSessionFactory* iSessionFactory;
williamr@2
   223
	TBool iIsTaskListEnabled;
williamr@2
   224
	TInt iCEikServEnv_Reserved1;
williamr@2
   225
	};
williamr@2
   226
williamr@2
   227
inline TEikServCtrlFactories::TEikServCtrlFactories()
williamr@2
   228
	: iAlert(NULL), iAlarmAlert(NULL)
williamr@2
   229
	{}
williamr@2
   230
	
williamr@2
   231
inline TEikServCtrlFactories::TEikServCtrlFactories(MEikServNotifyAlert* aAlert,MEikServAlarmFactory* aAlarmAlert)
williamr@2
   232
	: iAlert(aAlert), iAlarmAlert(aAlarmAlert)
williamr@2
   233
	{}
williamr@2
   234
williamr@2
   235
NONSHARABLE_CLASS(CEikServSecureData) : public CBase
williamr@2
   236
/**
williamr@2
   237
@publishedPartner 
williamr@2
   238
@released 
williamr@2
   239
*/
williamr@2
   240
	{
williamr@2
   241
public:
williamr@2
   242
	IMPORT_C static void GetInstalledFepNameL(TDes& aName);
williamr@2
   243
	IMPORT_C static void SetInstalledFepNameL(const TDesC& aName, TBool aRaiseFileError);
williamr@2
   244
	IMPORT_C static void OpenFepAttributesL();
williamr@2
   245
	IMPORT_C static void GetFepAttributeL(TUid aAttribUid, TDes8& aAttribData);
williamr@2
   246
	IMPORT_C static void SetFepAttributeL(TUid aAttribUid, const TDesC8& aAttribData);
williamr@2
   247
	IMPORT_C static void CommitFepAttributesL();
williamr@2
   248
	IMPORT_C static void CloseFepAttributes();
williamr@2
   249
	IMPORT_C static CBufBase* GetBufferedSystemColorListL();
williamr@2
   250
	IMPORT_C static void SetBufferedSystemColorListL(const TDesC8& aBuffer);
williamr@2
   251
private:
williamr@2
   252
	CEikServSecureData();
williamr@2
   253
	};
williamr@2
   254
williamr@2
   255
class TErrorFlagAndId
williamr@2
   256
	{
williamr@2
   257
public:
williamr@2
   258
	TInt iTextId;
williamr@2
   259
	TUint iFlags;
williamr@2
   260
	TBool iIsMemoryAllocatedByErrResolver;
williamr@2
   261
	};
williamr@2
   262
williamr@2
   263
#endif	// __EIKSRV_H__