epoc32/include/mw/apgcli.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 3 e1b950c65cb4
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
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@4
     4
// under the terms of "Eclipse Public License v1.0"
williamr@2
     5
// which accompanies this distribution, and is available
williamr@4
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.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@4
    14
// apgcli.h
williamr@2
    15
//
williamr@2
    16
williamr@4
    17
#ifndef __APGCLI_H__
williamr@2
    18
#define __APGCLI_H__
williamr@2
    19
williamr@2
    20
#include <e32base.h>
williamr@2
    21
#include <apmstd.h>
williamr@2
    22
#include <apmrec.h>
williamr@2
    23
#include <apaid.h>
williamr@2
    24
#include <badesca.h>
williamr@2
    25
#include <f32file.h>
williamr@2
    26
williamr@2
    27
// classes referenced
williamr@4
    28
class RFile;
williamr@4
    29
class MArrayFiller;
williamr@2
    30
class CApaCommandLine;
williamr@2
    31
class CApaMaskedBitmap;
williamr@2
    32
class CApaLsSessionExtension;
williamr@2
    33
class CApaRegistrationResourceFileWriter;
williamr@2
    34
class CApaLocalisableResourceFileWriter;
williamr@4
    35
class CApaAppServiceInfoArray;
williamr@2
    36
williamr@4
    37
#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
williamr@4
    38
/** @internalComponent
williamr@2
    39
*/
williamr@2
    40
IMPORT_C TUint MinApplicationStackSize();
williamr@2
    41
williamr@4
    42
#endif //SYMBIAN_ENABLE_SPLIT_HEADERS
williamr@4
    43
williamr@4
    44
williamr@2
    45
/**
williamr@4
    46
This class holds the MIME-type recognition results of a recognized directory.
williamr@2
    47
@publishedAll
williamr@2
    48
@released
williamr@2
    49
*/
williamr@4
    50
class CDataRecognitionResultArray : public CBase
williamr@2
    51
	{
williamr@4
    52
public: 
williamr@2
    53
	IMPORT_C CDataRecognitionResultArray();
williamr@4
    54
	IMPORT_C ~CDataRecognitionResultArray();
williamr@2
    55
	IMPORT_C const TFileName& Path() const;
williamr@2
    56
	IMPORT_C TUint Count() const;
williamr@2
    57
	IMPORT_C void GetDataRecognitionResultL(TDataRecognitionResult& aResult, const TUint aIndex) const;
williamr@2
    58
	IMPORT_C void GetFileNameL(TFileName& aFileName, const TUint aIndex) const;
williamr@4
    59
public: 
williamr@2
    60
	TUint InternalizeL(const CBufFlat& aBuffer);
williamr@2
    61
	void SetPath(const TFileName& aPath);
williamr@2
    62
private:
williamr@4
    63
	NONSHARABLE_CLASS(CItem);
williamr@2
    64
	TFileName iPath;
williamr@4
    65
	RPointerArray<CItem> iItems;
williamr@2
    66
	};
williamr@2
    67
williamr@2
    68
williamr@2
    69
/** A session with the application architecture server.
williamr@2
    70
williamr@2
    71
The server provides access to a cached list of the applications on the device. 
williamr@2
    72
williamr@2
    73
To use this class, clients first need to connect to the server. 
williamr@2
    74
williamr@2
    75
Then, one of GetAllApps(), GetEmbeddableApps() or GetFilteredApps() needs to be called. 
williamr@2
    76
These functions do some initialisation of server data in preparation for returning the 
williamr@2
    77
application list (which is owned by the server).
williamr@2
    78
williamr@2
    79
Then, GetNextApp() is called in a loop. The first time around, it populates the session's 
williamr@2
    80
application list and retrieves the first application in the list. Further calls to GetNextApp() 
williamr@2
    81
retrieve the remaining applications in the list, until RApaLsSession::ENoMoreAppsInList is 
williamr@2
    82
returned.
williamr@2
    83
williamr@2
    84
The session should be closed when it is no longer needed, before it goes out of scope.
williamr@2
    85
williamr@2
    86
Various functions in RApaLsSession need to access the application list, and may return 
williamr@2
    87
RApaLsSession::EAppListInvalid to indicate that the function was called before the initial 
williamr@2
    88
population of the list is complete. If this occurs, you could try again after a short delay.
williamr@2
    89
williamr@2
    90
This class provides many other functions, for instance launching applications, querying 
williamr@2
    91
application-specific information, recognising data.
williamr@2
    92
williamr@2
    93
@publishedAll
williamr@2
    94
@released */
williamr@4
    95
class RApaLsSession : public RSessionBase
williamr@2
    96
	{
williamr@2
    97
public:
williamr@4
    98
	enum TApaLsErrorCode {
williamr@2
    99
		/** A possible return value from GetNextApp(), to indicate that there are no more 
williamr@2
   100
		applications in the list. */
williamr@4
   101
		ENoMoreAppsInList = 1,
williamr@2
   102
		/** Indicates that an RApaLsSession member function was called before the session's 
williamr@2
   103
		application list is fully populated. */
williamr@2
   104
		EAppListInvalid
williamr@2
   105
		};
williamr@4
   106
	
williamr@4
   107
	/** Defines the way an application is launched. 
williamr@4
   108
	This is no longer in use. Has no effect! */
williamr@2
   109
	enum TLaunchType {
williamr@4
   110
		ELaunchNewApp = 1,
williamr@2
   111
		ESwitchFiles
williamr@2
   112
		};
williamr@4
   113
public: // Session management
williamr@2
   114
	IMPORT_C RApaLsSession();
williamr@2
   115
	IMPORT_C TInt Connect();
williamr@4
   116
	IMPORT_C void Close(); //lint !e1511 Member hides non-virtual member
williamr@2
   117
	IMPORT_C TVersion Version() const;
williamr@4
   118
	IMPORT_C void RegisterListPopulationCompleteObserver(TRequestStatus& aStatus) const;
williamr@4
   119
	IMPORT_C TInt CancelListPopulationCompleteObserver() const;
williamr@4
   120
public:	// Utilities
williamr@4
   121
	IMPORT_C TInt IsProgram(const TDesC& aFileName, TBool& aProgram) const;	
williamr@4
   122
	IMPORT_C TInt MatchesSecurityPolicy(TBool& aMatches, TUid aAppUid, const TSecurityPolicy& aSecurityPolicy) const;
williamr@4
   123
public: // Application list initialization
williamr@4
   124
	// Set up list of all apps
williamr@4
   125
	IMPORT_C TInt GetAllApps() const;
williamr@4
   126
	IMPORT_C TInt GetAllApps(TInt aScreenMode) const;
williamr@4
   127
	IMPORT_C TInt GetEmbeddableApps() const;
williamr@4
   128
	IMPORT_C TInt GetEmbeddableApps(TInt aScreenMode) const;
williamr@4
   129
	// Set up filtered list of apps
williamr@4
   130
	IMPORT_C TInt GetFilteredApps(const TApaEmbeddabilityFilter& aFilter) const;
williamr@4
   131
	IMPORT_C TInt GetFilteredApps(const TApaEmbeddabilityFilter& aFilter, TInt aScreenMode) const;
williamr@4
   132
	IMPORT_C TInt GetFilteredApps(TUint aCapabilityAttributeMask, TUint aCapabilityAttributeValue) const;
williamr@4
   133
	IMPORT_C TInt GetFilteredApps(TUint aCapabilityAttributeMask, TUint aCapabilityAttributeValue, TInt aScreenMode) const;
williamr@4
   134
	// Set up list of server "service" apps
williamr@4
   135
	IMPORT_C TInt GetServerApps(TUid aServiceUid) const;
williamr@4
   136
	IMPORT_C TInt GetServerApps(TUid aServiceUid, TInt aScreenMode) const;
williamr@4
   137
public: // Application list access	
williamr@4
   138
	// Get application count
williamr@4
   139
	IMPORT_C TInt AppCount(TInt& aCount) const;
williamr@4
   140
	IMPORT_C TInt EmbeddableAppCount(TInt& aCount) const;
williamr@4
   141
	// Get next app in list
williamr@2
   142
	IMPORT_C TInt GetNextApp(TApaAppInfo& aInfo) const; // call repeatedly, returns err (inc ENoMoreAppsInList,EAppListInvalid)
williamr@2
   143
	IMPORT_C TInt GetNextApp(TApaAppInfo& aInfo,TInt aScreenMode) const; // call repeatedly, returns err (inc ENoMoreAppsInList,EAppListInvalid)
williamr@4
   144
public: // Application meta-data
williamr@4
   145
	IMPORT_C TInt GetAppInfo(TApaAppInfo& aInfo, TUid aAppUid) const;
williamr@4
   146
	IMPORT_C TInt GetAppViews(CApaAppViewArray& aAppViews, TUid aAppUid) const;
williamr@4
   147
	
williamr@2
   148
	IMPORT_C TInt SetAppShortCaption(const TDesC& aShortCaption, TLanguage aLanguage, TUid aAppUid);
williamr@4
   149
	IMPORT_C TInt ApplicationLanguage(TUid aAppUid, TLanguage& aLanguage) const;
williamr@4
   150
	IMPORT_C TInt GetAppCapability(TDes8& aCapabilityBuf,TUid aAppUid) const;
williamr@4
   151
	IMPORT_C TInt GetAppOwnedFiles(CDesCArray& aAppOwnedFiles, TUid aAppUid) const;
williamr@2
   152
	IMPORT_C TInt GetDefaultScreenNumber(TInt& aDefaultScreenNumber, TUid aAppUid) const;
williamr@4
   153
	// Application icons
williamr@4
   154
	IMPORT_C TInt GetAppIcon(TUid aAppUid, TInt aSize, CApaMaskedBitmap& aAppBitmap) const;
williamr@4
   155
	IMPORT_C TInt GetAppIconSizes(TUid aAppUid, CArrayFixFlat<TSize>& aArrayToFill) const;
williamr@4
   156
	IMPORT_C TInt GetAppIcon(TUid aAppUid, TSize aSize, CApaMaskedBitmap& aAppBitmap) const;
williamr@4
   157
	IMPORT_C TInt GetAppIcon(TUid aAppUid, HBufC*& aFullFileName) const;
williamr@4
   158
	IMPORT_C TInt GetAppIcon(TUid aAppUid, RFile& aFile) const;
williamr@4
   159
	IMPORT_C TInt NumberOfOwnDefinedIcons(TUid aAppUid, TInt& aCount) const;
williamr@4
   160
	// View icons
williamr@4
   161
	IMPORT_C TInt GetAppViewIcon(TUid aAppUid, TUid aViewUid, const TSize& aSize, CApaMaskedBitmap& aViewBitmap) const;
williamr@4
   162
	IMPORT_C TInt GetAppViewIcon(TUid aAppUid, TUid aViewUid, HBufC*& aFullFileName) const;
williamr@4
   163
public: // Application start
williamr@4
   164
	IMPORT_C TInt StartApp(const CApaCommandLine& aCommandLine); // This is only recommended for non document based apps
williamr@4
   165
	IMPORT_C TInt StartApp(const CApaCommandLine& aCommandLine, TThreadId& aThreadId);
williamr@4
   166
	IMPORT_C TInt StartApp(const CApaCommandLine& aCommandLine, TThreadId& aThreadId, TRequestStatus* aRequestStatusForRendezvous);
williamr@2
   167
	
williamr@4
   168
	IMPORT_C TInt StartDocument(const TDesC& aDocFileName, TThreadId& aThreadId, TLaunchType aUnused = ELaunchNewApp);
williamr@4
   169
	IMPORT_C TInt StartDocument(const TDesC& aDocFileName, const TDataType& aDataType, TThreadId& aThreadId, TLaunchType aUnused = ELaunchNewApp);
williamr@4
   170
	IMPORT_C TInt StartDocument(const TDesC& aDocFileName, TUid aAppUid, TThreadId& aThreadId, TLaunchType aUnused = ELaunchNewApp);
williamr@4
   171
	IMPORT_C TInt StartDocument(RFile& aDocFile, TThreadId& aThreadId, TRequestStatus* aRequestStatusForRendezvous = NULL);
williamr@4
   172
	IMPORT_C TInt StartDocument(RFile& aDocFile, const TDataType& aDataType, TThreadId& aThreadId, TRequestStatus* aRequestStatusForRendezvous = NULL);
williamr@4
   173
	IMPORT_C TInt StartDocument(RFile& aDocFile, TUid aAppUid, TThreadId& aThreadId, TRequestStatus* aRequestStatusForRendezvous = NULL);
williamr@4
   174
	IMPORT_C TInt CreateDocument(const TDesC& aDocFileName, TUid aAppUid, TThreadId& aThreadId, TLaunchType aUnused = ELaunchNewApp);
williamr@4
   175
public: // Data MIME-type recognizion
williamr@4
   176
	// Minimum accepted confidence by which a data may be considered recognized
williamr@4
   177
	IMPORT_C TInt SetAcceptedConfidence(TInt aConfidence);
williamr@4
   178
	IMPORT_C TInt GetAcceptedConfidence(TInt& aConfidence) const;
williamr@4
   179
	// Get a complete list of all known (recognizable) MIME types
williamr@4
   180
	IMPORT_C TInt GetSupportedDataTypesL(CDataTypeArray& aDataTypes) const;
williamr@4
   181
	// Recognize data
williamr@4
   182
	IMPORT_C TInt RecognizeData(const TDesC8& aBuffer, TDataRecognitionResult& aDataType) const;
williamr@2
   183
	IMPORT_C TInt RecognizeData(const TDesC& aName, const TDesC8& aBuffer, TDataRecognitionResult& aDataType) const;
williamr@2
   184
	IMPORT_C TInt RecognizeData(const RFile& aFile, TDataRecognitionResult& aDataType) const;
williamr@2
   185
	IMPORT_C TInt RecognizeSpecificData(const TDesC& aName, const TDesC8& aBuffer, const TDataType& aDataType, TBool& aResult) const;
williamr@2
   186
	IMPORT_C TInt RecognizeSpecificData(const RFile& aFile, const TDataType& aDataType, TBool& aResult) const;
williamr@4
   187
	// Recognize files
williamr@4
   188
	IMPORT_C TInt RecognizeFilesL(const TDesC& aPath, CDataRecognitionResultArray& aResult) const;
williamr@4
   189
	IMPORT_C void RecognizeFilesL(const TDesC& aPath, CDataRecognitionResultArray& aResult, TRequestStatus& aStatus);
williamr@4
   190
	IMPORT_C TInt RecognizeFilesL(const TDesC& aPath, const TDesC8& aDataType, CDataRecognitionResultArray& aResult) const;
williamr@4
   191
	IMPORT_C void RecognizeFilesL(const TDesC& aPath, const TDesC8& aDataType, CDataRecognitionResultArray& aResult, TRequestStatus& aStatus);
williamr@4
   192
	IMPORT_C void CancelRecognizeFiles();
williamr@4
   193
	// Get application registered as capable of handling specified MIME data type
williamr@2
   194
	IMPORT_C TInt AppForDataType(const TDataType& aDataType, TUid& aAppUid) const;
williamr@2
   195
	IMPORT_C TInt AppForDocument(const TDesC& aFileName, TUid& aAppUid, TDataType& aDataType) const;
williamr@2
   196
	IMPORT_C TInt AppForDocument(const RFile& aFile, TUid& aAppUid, TDataType& aDataType) const;
williamr@4
   197
	// Register an applicatoin as capable of handling a specified MIME data type
williamr@2
   198
	IMPORT_C TInt InsertDataMapping(const TDataType& aDataType, TDataTypePriority aPriority, TUid aUid);
williamr@2
   199
	IMPORT_C TInt InsertDataMappingIfHigher(const TDataType& aDataType, TDataTypePriority aPriority, TUid aUid, TBool& aInserted);
williamr@2
   200
	IMPORT_C TInt DeleteDataMapping(const TDataType& aDataType);
williamr@4
   201
	// Amount of data used for recognition
williamr@4
   202
	IMPORT_C TInt SetMaxDataBufSize(TInt aBufSize);
williamr@4
   203
	IMPORT_C TInt GetMaxDataBufSize(TInt& aBufSize) const;
williamr@4
   204
	IMPORT_C TInt GetPreferredBufSize(TInt& aPreferredBufSize) const;
williamr@4
   205
public: // Support for service-applications
williamr@2
   206
	IMPORT_C CApaAppServiceInfoArray* GetAppServicesLC(TUid aAppUid) const;
williamr@2
   207
	IMPORT_C CApaAppServiceInfoArray* GetServiceImplementationsLC(TUid aServiceUid) const;
williamr@2
   208
	IMPORT_C CApaAppServiceInfoArray* GetServiceImplementationsLC(TUid aServiceUid, const TDataType& aDataType) const;
williamr@2
   209
	IMPORT_C void GetAppServicesL(TUid aAppUid, CArrayFixFlat<TUid>& aServiceUids) const;
williamr@2
   210
	IMPORT_C CApaAppServiceInfoArray* GetAppServiceOpaqueDataLC(TUid aAppUid, TUid aServiceUid) const;
williamr@2
   211
	IMPORT_C TInt AppForDataTypeAndService(const TDataType& aDataType, TUid aServiceUid, TUid& aAppUid) const;
williamr@2
   212
	IMPORT_C TInt AppForDocumentAndService(const TDesC& aFileName, TUid aServiceUid, TUid& aAppUid, TDataType& aDataType) const;
williamr@2
   213
	IMPORT_C TInt AppForDocumentAndService(const RFile& aFile, TUid aServiceUid, TUid& aAppUid, TDataType& aDataType) const;
williamr@4
   214
public:	// for internal use only
williamr@4
   215
	IMPORT_C TInt InsertDataMapping(const TDataType& aDataType, TDataTypePriority aPriority, TUid aUid, TUid aServiceUid);
williamr@4
   216
	IMPORT_C TInt DeleteDataMapping(const TDataType& aDataType, TUid aServiceUid);
williamr@4
   217
	IMPORT_C void NotifyOnDataMappingChange(TRequestStatus& aRequestStatus);
williamr@4
   218
	IMPORT_C void CancelNotifyOnDataMappingChange();
williamr@4
   219
	IMPORT_C TInt GetAppByDataType(const TDataType& aDataType, TUid aServiceUid, TUid& aAppUid) const;
williamr@4
   220
public:	// for internal use only
williamr@4
   221
	IMPORT_C static void SetFsSessionL(RFs& aFsSession);
williamr@4
   222
	IMPORT_C static void ClearFsSession();
williamr@4
   223
	IMPORT_C static RFs* FsSession();
williamr@4
   224
	IMPORT_C void SetNotify(TBool aCompleteImmediatelyIfNoScanImpendingOrInProgress, TRequestStatus& aStatus);
williamr@4
   225
	IMPORT_C void CancelNotify();
williamr@4
   226
public: // for internal use only
williamr@4
   227
	// Support for non-native applications	
williamr@2
   228
	IMPORT_C void RegisterNonNativeApplicationTypeL(TUid aApplicationType, const TDesC& aNativeExecutable);
williamr@2
   229
	IMPORT_C void DeregisterNonNativeApplicationTypeL(TUid aApplicationType);
williamr@2
   230
	IMPORT_C void PrepareNonNativeApplicationsUpdatesL();
williamr@2
   231
	IMPORT_C void RegisterNonNativeApplicationL(TUid aApplicationType, const TDriveUnit& aDrive, CApaRegistrationResourceFileWriter& aRegistrationResourceFile, CApaLocalisableResourceFileWriter* aLocalisableResourceFile, const RFile* aIconFile);
williamr@2
   232
	IMPORT_C void DeregisterNonNativeApplicationL(TUid aApplication);
williamr@2
   233
	IMPORT_C void CommitNonNativeApplicationsUpdatesL();
williamr@2
   234
	IMPORT_C TInt RollbackNonNativeApplicationsUpdates();
williamr@2
   235
	IMPORT_C TInt GetAppType(TUid& aTypeUid, TUid aAppUid) const;
williamr@2
   236
	IMPORT_C TInt ForceRegistration(const RPointerArray<TDesC>& aRegFiles);
williamr@2
   237
private: // Reserved for future use
williamr@2
   238
	IMPORT_C virtual void RApaLsSession_Reserved1();
williamr@2
   239
	IMPORT_C virtual void RApaLsSession_Reserved2();
williamr@4
   240
	
williamr@2
   241
public:
williamr@2
   242
	/**
williamr@2
   243
	@publishedPartner
williamr@2
   244
	@released
williamr@2
   245
	*/
williamr@2
   246
	IMPORT_C void ForceCommitNonNativeApplicationsUpdatesL(); 
williamr@4
   247
williamr@2
   248
private:
williamr@2
   249
	void DoGetAppOwnedFilesL(CDesCArray& aArrayToFill, TUid aAppUid) const;
williamr@2
   250
	void DoGetAppViewsL(CApaAppViewArray& aArrayToFill, TUid aAppUid) const;
williamr@2
   251
	void DoGetAppIconSizesL(TUid aAppUid, CArrayFixFlat<TSize>& aArrayToFill) const;
williamr@2
   252
	TInt DoAppCount(TInt& aCount,TInt aCommand) const;
williamr@2
   253
	void FetchArrayL(MArrayFiller& aArrayFiller,TUid aAppUid, TInt aOpcode, TInt aInitialBufSize) const;
williamr@4
   254
	CBufBase* GetServiceBufferLC(TInt aOpcode, TUid aUid1, TUid aUid2 = KNullUid) const;
williamr@2
   255
	CBufBase* GetServiceBufferLC(TInt aOpcode, TUid aUid1, const TDataType& aDataType) const;
williamr@2
   256
	TInt SendReceiveWithReconnect(TInt aFunction,const TIpcArgs& aIpcArgs) const;
williamr@2
   257
	TInt TransferAndInternalizeDataL(const TDesC& aPath, const TInt aRequiredBufferSize, CDataRecognitionResultArray& aResult) const;
williamr@4
   258
	TInt GetExecutableNameAndNewOpaqueData(TDes& aNativeExecutableName, TDes& aLogicalExecutableName, HBufC8*& aOpaqueData, TIpcArgs& aIpcArgs, TInt aOpcode) const;
williamr@4
   259
	TInt GetNewOpaqueData(HBufC8*& aOpaqueData, TInt aLengthOfOpaqueData) const;
williamr@2
   260
	TInt StartApplicationPassingFileHandle(const TDesC& aNativeExecutableName, const TDesC& aLogicalExecutableName, const TDesC8* aOpaqueData, const RFile& aFile, TThreadId& aThreadId, TRequestStatus* aRequestStatusForRendezvous);
williamr@2
   261
	TInt StartApplicationPassingDocumentName(const TDesC& aNativeExecutableName, const TDesC& aLogicalExecutableName, const TDesC8* aOpaqueData, const TDesC& aDocumentName, TThreadId& aThreadId,TApaCommand aCommand, TRequestStatus* aRequestStatusForRendezvous);
williamr@4
   262
	void DoStartApplicationL(const TDesC& aNativeExecutableName, const CApaCommandLine& aCommandLine, TThreadId& aThreadId, TRequestStatus* aRequestStatusForRendezvous);
williamr@2
   263
	TInt DoAppForDocumentOptionallySpecifyingService(const TDesC& aFileName, TUid aServiceUid, TUid& aAppUid, TDataType& aDataType, TInt aOpcode) const;
williamr@2
   264
	TInt DoAppForDocumentOptionallySpecifyingService(const RFile& aFile, TUid aServiceUid, TUid& aAppUid, TDataType& aDataType, TInt aOpcode) const;
williamr@4
   265
	TInt GetNewBufferFromFile(HBufC8*& aBuffer, const TDesC& aFileName) const;
williamr@4
   266
	TInt DoStartApp(const CApaCommandLine& aCommandLine, TThreadId* aThreadId, TRequestStatus* aRequestStatusForRendezvous);
williamr@4
   267
	void DoStartAppL(const CApaCommandLine& aCommandLine, TThreadId* aThreadId, TRequestStatus* aRequestStatusForRendezvous);
williamr@4
   268
	static void GetMainThreadIdL(TThreadId& aThreadId, const RProcess& aProcess);
williamr@2
   269
	static void DeletePointerToPointerToTAny(TAny* aPointerToPointerToTAny);
williamr@2
   270
	static CBufFlat* CreateRegFilesBufferL(const RPointerArray<TDesC>& aRegFiles);
williamr@2
   271
	static void CleanupOperation(TAny* aAny);
williamr@2
   272
williamr@2
   273
private: // data
williamr@4
   274
	friend class CApaLsSessionExtension;
williamr@4
   275
	CApaLsSessionExtension* iExtension;
williamr@2
   276
	};
williamr@2
   277
williamr@2
   278
williamr@4
   279
#endif	// __APGCLI_H__
williamr@4
   280