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